@Override
  public void advance() {
    if (myCurrentOffset >= myEndOffset) {
      updateState(null, myEndOffset);
      return;
    }

    if (currentLineTokens.isEmpty()) {
      myLexer.advanceLine(currentLineTokens);
    }
    updateState(currentLineTokens.poll(), myLexer.getCurrentOffset());
  }
@Override
  public void advance()