code: def next(self):
          
          rv = self.current
          if self._pushed:
              self.current = self._pushed.popleft()
          elif self.current.type is not TOKEN_EOF:
              try:
                  self.current = self._next()
              except StopIteration:
                  self.close()
          return rv
docs: Go one token ahead and return the old one