@Override protected TokenStreamComponents createComponents(final String fieldName, final Reader reader) { final TupleTokenizer source = new TupleTokenizer(reader); TokenStream sink = new TokenTypeFilter(source, new int[] {TupleTokenizer.BNODE, TupleTokenizer.DOT}); final DatatypeAnalyzerFilter tt = new DatatypeAnalyzerFilter(matchVersion, sink, anyURIAnalyzer, stringAnalyzer); for (final Entry<Object, Analyzer> e : regLitAnalyzers.entrySet()) { tt.register((char[]) e.getKey(), e.getValue()); } sink = new PositionAttributeFilter(tt); sink = new SirenPayloadFilter(sink); return new TokenStreamComponents(source, sink); }