private void populateSubGraph(Object start, DependencyGraph result) {
    if (result.vertices.containsKey(start)) {
      return;
    }
    if (vertices.get(start) == null) {
      return;
    }

    result.addVertex(start, vertices.get(start));
    for (Dependency dep : result.vertices.get(start)) {
      populateSubGraph(dep.getDependsOn(), result);
    }
  }
Get the subgraph that the starting object has dependencies on.

This does not include any objects that have dependencies on the starting object.
geode-core/src/main/java/org/apache/geode/distributed/internal/deadlock/DependencyGraph.java