private static string VisualizeIndentedObjectSubGraph(this InstanceProducer dependency, int indentingDepth, HashSet <InstanceProducer> set) { bool isCyclicGraph = set.Contains(dependency); if (isCyclicGraph) { return(dependency.VisualizeCyclicProducerWithoutDependencies(indentingDepth)); } set.Add(dependency); try { return(dependency.VisualizeIndentedObjectGraph(indentingDepth, set)); } finally { set.Remove(dependency); } }