code: def walk_tree(self):
          
          shards = collections.deque([self])
          while shards:
              shard = shards.popleft()
              yield shard
              shards.extend(shard.children)
docs: Generator that yields each :class:`~bloop.stream.shard.Shard` by walking the shard's children in order.