code: def gather(self, *futures: Union[asyncio.Future, asyncio.coroutine]):
          
          self.ft_count = len(futures)
          self.futures = asyncio.gather(*futures, loop=self.loop,
                                        return_exceptions=self.return_exceptions)
docs: Gather list of futures/coros and return single Task ready to schedule.
  
          :Example:
  
          Prepare all futures to execution
  
          .. code-block:: python
  
              >>> async def do_something():
              ...     return 'something'
              ...
              >>> async def do_something_else():
              ...     return 'something_else'
              ...
  
          Gather all tasks and then pass to context loop
  
          .. code-block:: python
  
              >>> loop = Loop(return_exceptions=True)
              >>> loop.gather(do_something(), do_something_else())
              >>> with loop as l:
              ...     result = l.run_until_complete()
              ...
  
          :param futures: One or more coroutine or future.
          :type futures: asyncio.Future, asyncio.coroutine
          :return: Futures grouped into single future
          :rtype: asyncio.Task, asyncio.Future