code: async def add_waiter(self):
          
          loop = asyncio.get_event_loop()
          async with self.lock:
              waiter = AioEventWaiter(loop)
              self.waiters.add(waiter)
          return waiter
docs: Add a :class:`AioEventWaiter` to the :attr:`waiters` container
  
          The event loop to use for :attr:`AioEventWaiter.loop` is found in the
          current context using :func:`asyncio.get_event_loop`
  
          Returns:
              waiter: The created :class:`AioEventWaiter` instance