int CalculateNodeDepth(IndexedGraph <string, Orbit> orbits) { foreach (var orbit in orbits.DepthFirstWalk()) { if (orbit.Name != "COM") { orbit.Depth = orbits.GetParent(orbit).Depth + 1; } } var total = 0; foreach (var orbit in orbits.DepthFirstWalk()) { total += orbit.Depth; } return(total); }