*/
private int tag(final AnalysedText at, final TaggingSession session,
final Corpus corpus, final Map<int[],Tag> tags) throws IOException {
final OpenBitSet matchDocIdsBS = new OpenBitSet(session.getSearcher().maxDoc());
TokenStream baseTokenStream = corpus.getTaggingAnalyzer().tokenStream("",
new CharSequenceReader(at.getText()));
LinkableTokenFilter linkableTokenFilter = new LinkableTokenFilter(baseTokenStream,
at, session.getLanguage(), tpConfig.getConfiguration(session.getLanguage()),
elConfig.getMinChunkMatchScore(), elConfig.getMinFoundTokens());
//we use two TagClusterReducer implementations.
// (1) the linkableTokenFilter filters all tags that do not overlap any