code: def _return_result(self, done):
          
          chain_future(done, self._running_future)
  
          self.current_future = done
          self.current_index = self._unfinished.pop(done)
docs: Called set the returned future's state that of the future
          we yielded, and set the current future for the iterator.