public void GenerateDot() { var startNodes = Graph.Nodes.Where(x => !Graph.Nodes.Any(y => Graph.GetDependenciesForNode(y).Contains(x))); var endNodes = Graph.Nodes.Where(x => Graph.GetDependenciesForNode(x).Count() == 0); var circularReferences = CircularReferencesHelper.FindCircularReferences(Graph, startNodes, endNodes); var dotCommandBuilder = new DotCommandBuilder<ProjectInfo>(); var dotCommand = dotCommandBuilder.GenerateDotCommand(Graph, circularReferences, ""); Console.WriteLine(dotCommand); }