code: def and_return_future(self, *return_values):
          
          futures = []
          for value in return_values:
              future = _get_future()
              future.set_result(value)
              futures.append(future)
          return self.and_return(*futures)
docs: Similar to `and_return` but the doubled method returns a future.
  
          :param object return_values: The values the double will return when called,