public GraphElementContainer GetGraphElements(NodeContainer nodes) { this.MakeAdjactedBothWay(nodes); var paths = Graph.ExtractPaths(nodes); var container = new GraphElementContainer { nodes = nodes.Select(n => new GraphElement<Node> {data = n}).ToList(), edges = paths.Select(p => new GraphElement<GraphPath> {data = p}).ToList(), }; return container; }