docs: def _lookahead_token(self, count=1):
          """ Peeks into the token stream up to the specified number of tokens
              without consuming any tokens from the stream.
  
              ``count``
                  Look ahead in stream up to a maximum number of tokens.
  
              Returns string token or ``None``.
              """
  
          stack = []
          next_token = None
  
          # fetch the specified number of tokens ahead in stream
          while count > 0:
              item = self._lexer.get_token()
              if not item:
                  break
              stack.append(item)
              count -= 1
  
          # store the latest token and push the tokens back on the
          # lexer stack so we don't consume them
          while stack:
              line_no, token = stack.pop()
  
              if not next_token:
                  next_token = token
              self._lexer.push_token(line_no, token)
  
          return next_token