@Override public TokenStream reusableTokenStream(String fieldName, Reader reader) throws IOException { // if (true) return tokenStream(fieldName, reader); TokenStreamInfo tsi = (TokenStreamInfo)getPreviousTokenStream(); if (tsi != null) { tsi.getTokenizer().reset(charStream(reader)); // the consumer will currently call reset() on the TokenStream to hit all the filters. // this isn't necessarily guaranteed by the APIs... but is currently done // by lucene indexing in DocInverterPerField, and in the QueryParser return tsi.getTokenStream(); } else { tsi = getStream(fieldName, reader); setPreviousTokenStream(tsi); return tsi.getTokenStream(); } } }