docs: def find_connected_resources(resource, dependency_graph=None):
      """
      Collects all resources connected to the given resource and returns a
      dictionary mapping member resource classes to new collections containing
      the members found.
      """
      # Build a resource_graph.
      resource_graph = \
                  build_resource_graph(resource,
                                       dependency_graph=dependency_graph)
      entity_map = OrderedDict()
      for mb in topological_sorting(resource_graph):
          mb_cls = get_member_class(mb)
          ents = entity_map.get(mb_cls)
          if ents is None:
              ents = []
              entity_map[mb_cls] = ents
          ents.append(mb.get_entity())
      return entity_map