public DirectedGraph spanningTree() {
		DirectedGraph g = new DirectedGraph(treeEdges.size() + 1, treeEdges.size());
		Iterator<Edge> iter = treeEdges.iterator();
		while (iter.hasNext()) {
			g.add(iter.next());
		}
		return g;
	}
Returns a spanning tree (in the form of a DirectedGraph). 
No claims that the spanning tree returned has any special 
properties.
Ghidra/Framework/Generic/src/main/java/ghidra/util/graph/DepthFirstSearch.java