private static IEnumerable<INinjectModule> GetOrderedModuleList(string path, string pattern)
{
var graph = GetModuleGraph(path, pattern).ToAdjacencyGraph<INinjectModule, EquatableEdge<INinjectModule>>();
graph.RemoveEdgeIf(edge => edge.IsSelfEdge<INinjectModule, EquatableEdge<INinjectModule>>());
return graph.TopologicalSort();
}