private void postOrderVisit(V v) {
		if (visited.contains(v)) {
			return;
		}

		visited.add(v);

		Collection<V> successors = navigator.getSuccessors(g, v);
		for (V child : successors) {
			postOrderVisit(child);
		}

		// remove/put back here to update traversal order to be post-order
		visited.remove(v);
		visited.add(v);
	}
Returns the vertices of the given graph in pre-order, which is the order the vertices
are encountered when performing a depth-first traversal.

@param g the graph
@param navigator the knower of the direction the graph should be traversed
@return the vertices in pre-order
Ghidra/Framework/Graph/src/main/java/ghidra/graph/algo/DepthFirstSorter.java