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);
            }
        }