return createDefaultAnalyser(binaryAnalyser, archiveAnalyser, noticeAnalyser, standardAnalyser, binaryGuesser, archiveGuesser, noteGuesser);
}
public static IDocumentAnalyser createDefaultAnalyser(final IDocumentAnalyser binaryAnalyser, final IDocumentAnalyser archiveAnalyser, final IDocumentAnalyser noticeAnalyser, final IDocumentAnalyser standardAnalyser, final IDocumentMatcher binaryGuesser, final IDocumentMatcher archiveGuesser, final IDocumentMatcher noteGuesser) {
final IDocumentMatcher binaryMatcher = new ConditionalAnalyser(binaryGuesser, binaryAnalyser);
final IDocumentMatcher noticeMatcher = new ConditionalAnalyser(noteGuesser, noticeAnalyser);
final IDocumentMatcher archiveMatcher = new ConditionalAnalyser(archiveGuesser, archiveAnalyser);
final IDocumentMatcher[] matchers = {noticeMatcher, archiveMatcher, binaryMatcher};
final IDocumentMatcher specialDocumentMatcher = new DocumentMatcherMultiplexer(matchers);
final IDocumentMatcher documentMatcher = new MatchNegator(specialDocumentMatcher);
final ConditionalAnalyser result = new ConditionalAnalyser(documentMatcher, standardAnalyser);
return result;
}