tokens.add(newToken("token2", 21, 27));
tokens.add(newToken("token3", 28, 33));
tokens.add(newToken("token4", 34, 40));
TokenStream tokenStream = new CollectionTokenStream(tokens);
TokenFilter filter = new PositionFilter(tokenStream, PositionFilter.FIRST_POSITION);
Token nextToken = new Token();
filter.next(nextToken);
assertNotNull(nextToken);
assertEquals("token1", new String(nextToken.termBuffer(), 0, nextToken.termLength()));
nextToken = filter.next(nextToken);
assertNull(nextToken);
nextToken = new Token();
filter = new PositionFilter(tokenStream, PositionFilter.LAST_POSITION);
nextToken = filter.next(nextToken);
assertNotNull(nextToken);
assertEquals("token4", new String(nextToken.termBuffer(), 0, nextToken.termLength()));
nextToken = filter.next(nextToken);
assertNull(nextToken);
}