public Vertex allPathsContain(Vector pathSet, Vertex v, Vector path) {
		int candIndex = path.indexOf(v) - 1;
		if (!(candIndex >= 0)) {
			return v;
		}
		Vertex candidate = (Vertex) path.elementAt(candIndex--);
		int i;
		boolean flag = false;
		while (!flag) {
			flag = true;
			for (i = 0; i < pathSet.size(); i++) {
				if (!((Vector) pathSet.elementAt(i)).contains(candidate)) {
					flag = false;
				}
			}
			if (!flag) {
				candidate = (Vertex) path.elementAt(candIndex--);
			}
		}
		return candidate;

	}
This takes the longest path that contains vertex v and looks to see
if any of v's ancestors from that path are contained in all other
paths that contain v.
Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/Dominator.java