docs: public Token getNextToken() {
      if (nextToken == null) {
        try {
          if (!lex()) {
            throw new NoSuchElementException();
          }
        } catch (IOException e) {
          errorMessage = e.getMessage();
          hasErrors_ = true;
          throw new NoSuchElementException();
        }
      }
      return nextToken;
    }