code: def transitive_dependees_of_addresses(self, addresses, predicate=None, postorder=False):
      
      ret = OrderedSet()
      self.walk_transitive_dependee_graph(addresses, ret.add, predicate=predicate,
                                          postorder=postorder)
      return ret
docs: Returns all transitive dependees of `addresses`.
  
      Note that this uses `walk_transitive_dependee_graph` and the predicate is passed through,
      hence it trims graphs rather than just filtering out Targets that do not match the predicate.
      See `walk_transitive_dependee_graph for more detail on `predicate`.
  
      :API: public
  
      :param list<Address> addresses: The root addresses to transitively close over.
      :param function predicate: The predicate passed through to `walk_transitive_dependee_graph`.