Graph(List<GraphNode> nodes, {List<Edge<GraphNode>>? edges}) { this.nodes = [...nodes]; this.edges = []; if (edges != null) { this.edges.addAll(edges); } }