static GraphModel createUndirectedCopy(GraphModel network) { GraphModel U = new GraphModel(false); for (VertexModel scan : network) { VertexModel dup = new VertexModel(scan); U.addVertex(dup); scan.getProp().obj = dup; dup.getProp().obj = scan; } for (EdgeModel scan : network.edges()) { EdgeModel dup = new EdgeModel( scan, (VertexModel) scan.source.getProp().obj, (VertexModel) scan.target.getProp().obj); U.addEdge(dup); setDup(scan, dup); } return U; }