code: @Override
      public Token next() {
          if (!hasNext())
              throw new NoSuchElementException();
          Token t = this.tok;
          this.tok = null;
          return t;
      }
docs: Returns the next token from the enclosed Source.
  
  The EOF token is never returned by the iterator.
  @throws IllegalStateException if the Source
  throws a LexerException or IOException