public IEnumerable <T> GetItemsInDependencyOrder() { EnsureGraphIsAcyclic(); var sort = new TopologicalSort <T, DependencyGraphNode <T> >(_adjacencyList.Clone()); return(sort.Result.Select(x => x.Value)); }