public DirectedGraph getDominanceGraph() {
		DirectedGraph dom = new Dominator();
		GraphIterator<Vertex> it = this.vertexIterator();

		if (this.numVertices() == 1) {

			dom.add(this.getSources()[0]);
			return dom;
		}

		while (it.hasNext()) {
			Vertex next = it.next();
			if (!(this.getSources()[0].equals(next))) {
				Vertex parent = this.getDominator(next);
				dom.add(next);
				dom.add(parent);
				dom.add(new Edge(parent, next));
			}
		}
		return dom;
	}
This iterates through the vertices of our graph and gets the dominator
for each.  In a new graph - dom - it adds each vertex and an edge between the
vertex and its dominator.  It returns dom, the dominance graph.
Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/Dominator.java