code: def all_downstreams(self, node, graph=None):
          
          if graph is None:
              graph = self.graph
          nodes = [node]
          nodes_seen = set()
          i = 0
          while i < len(nodes):
              downstreams = self.downstream(nodes[i], graph)
              for downstream_node in downstreams:
                  if downstream_node not in nodes_seen:
                      nodes_seen.add(downstream_node)
                      nodes.append(downstream_node)
              i += 1
          return list(
              filter(
                  lambda node: node in nodes_seen,
                  self.topological_sort(graph=graph)
              )
          )
docs: Returns a list of all nodes ultimately downstream
          of the given node in the dependency graph, in
          topological order.