code: @Override
    public boolean incrementToken() throws IOException {
      clearAttributes();
      MtasToken token;
      Integer positionIncrement;
      MtasPayloadEncoder payloadEncoder;
      if (tokenCollectionIterator == null) {
        return false;
      } else if (tokenCollectionIterator.hasNext()) {
        token = tokenCollectionIterator.next();
        // compute info
        positionIncrement = token.getPositionStart() - currentPosition;
        currentPosition = token.getPositionStart();
        payloadEncoder = new MtasPayloadEncoder(token, encodingFlags);
        // set info
        termAtt.append(token.getValue());
        positionIncrementAtt.setPositionIncrement(positionIncrement);
        offsetAtt.setOffset(token.getOffsetStart(), token.getOffsetEnd());
        payloadAtt.setPayload(payloadEncoder.getPayload());
        return true;
      }
      return false;
    }
docs: /*
  (non-Javadoc)
  
  @see org.apache.lucene.analysis.TokenStream#incrementToken()