docs: 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;
      }