private IContentDescription getDescriptionFor(ContentTypeMatcher matcher, ILazySource contents, String fileName, QualifiedName[] options) throws IOException {
IContentType[] selected = internalFindContentTypesFor(matcher, contents, fileName, false);
if (selected.length == 0)
return null;
// give the policy a chance to change the results
ISelectionPolicy policy = matcher.getPolicy();
if (policy != null) {
selected = applyPolicy(policy, selected, fileName != null, true);
if (selected.length == 0)
return null;
}