public DirectedGraph join(DirectedGraph other) {
		GraphIterator<Vertex> nodes = other.vertices().iterator();
		while (nodes.hasNext()) {
			Vertex vert = nodes.next();
			copyVertex(vert, other);
		}

		GraphIterator<Edge> ei = other.edgeIterator();
		while (ei.hasNext()) {
			Edge e = ei.next();
			copyEdge(e, other);
		}
		return this;
	}
This method joins nodes from a directed graph into this.  This 
allows DirectedGraph subclasses to copy nodes and attributes, 
a shortcomings with the unionWith method. 
  
@param other the other directed graph that is to be joined into this one.
@return this directed graph
Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/DirectedGraph.java