private V getParent(GDirectedGraph<V, E> tree, V v) {
		Collection<V> predecessors = tree.getPredecessors(v);
		if (predecessors == null || predecessors.isEmpty()) {
			return null;
		}
		return predecessors.iterator().next();
	}
Returns a range of columns that we don't want to attempt to perform column routing through.
Specifically, this is for back edges where we don't want them to route through columns that
cut through any of its parents sub trees. This will force the routing algorithm to route
around a nodes containing sub-tree instead of through it.
@param grid the grid map that will be examined to find a routing column that doesn't
have any blocking vertices.
@param tree the tree version of the original graph
@param e the edge to examine to find its parent's subtree column bounds
@return a minimum and maximum column index through which the back edge should not be routed
Ghidra/Features/FunctionGraph/src/main/java/ghidra/app/plugin/core/functiongraph/graph/layout/flowchart/AbstractFlowChartLayout.java