async def METHOD_NAME(self) -> list[T]:
    """Get the next batch from the queue, blocking as necessary.
    Returns:
      list: A list of dequeued items, in order. This list is always
          non-empty.
    """
    await _core.checkpoint_if_cancelled()
    if not self._can_get:
        await self._lot.park()
        return self._get_batch_protected()
    else:
        try:
            return self._get_batch_protected()
        finally:
            await _core.cancel_shielded_checkpoint()