Edge edge = (Edge) edges.next();
Graph.Edge edge = (Graph.Edge) edges.next();
    public Graph copy() {        Graph newGraph = new GraphSet();        for (Iterator nodes = getNodes().iterator(); nodes.hasNext(); ) {            Object node = nodes.next();            newGraph.addNode(node);            for (Iterator edges=getOutgoingEdges(node).iterator(); edges.hasNext(); ) {                Edge edge = (Edge) edges.next();                newGraph.addEdge(edge.getTail(), edge.getHead(), edge.getLabel());            }        }        newGraph.setLabel(getLabel());        return newGraph;    }