code: private Token lookahead(int n) {
          Token current = token;
          for (int i = 0; i < n; i++) {
              if (current.next == null) {
                  current.next = token_source.getNextToken();
              }
              current = current.next;
          }
          return current;
      }
docs: look ahead n tokens. 0 is the current token, 1 is the next token, 2 the
  one after that, etc
  
  @param n
  @return