Set<EdgeType> origEdgeSet = orig.getEdgeSet(); for (Iterator<EdgeType> i = origEdgeSet.iterator(); i.hasNext(); ) {
for (Iterator<EdgeType> i = orig.getEdgeIterator(); i.hasNext(); ) {
	public GraphType transpose(GraphType orig,		GraphToolkit<GraphType, EdgeInfo, VertexInfo, EdgeType, VertexType> toolkit) {		GraphType trans = toolkit.createGraph();		// For each vertex in original graph, create an equivalent		// vertex in the transposed graph		Set<VertexType> origVertexSet = orig.getVertexSet();		for (Iterator<VertexType> i = origVertexSet.iterator(); i.hasNext(); ) {			VertexType v = (VertexType) i.next();			trans.addVertex(toolkit.duplicateVertexInfo(v.getVertexInfo()), toolkit);		}		// Ensure that vertex labels in the transposed graph		// match vertex labels in the original graph		LabelEquivalentVertices<GraphType, EdgeInfo, VertexInfo, EdgeType, VertexType> l =			new LabelEquivalentVertices<GraphType, EdgeInfo, VertexInfo, EdgeType, VertexType>();		l.labelEquivalentVertices(trans, orig);		// For each edge in the original graph, create a reversed edge		// in the transposed graph		Set<EdgeType> origEdgeSet = orig.getEdgeSet();		for (Iterator<EdgeType> i = origEdgeSet.iterator(); i.hasNext(); ) {			EdgeType e = i.next();			trans.addEdge(toolkit.duplicateVertexInfo(e.getTarget().getVertexInfo()),						   toolkit.duplicateVertexInfo(e.getSource().getVertexInfo()),						   toolkit.duplicateEdgeInfo(e.getEdgeInfo()),						   toolkit);		}		return trans;	}