private VisualGraphLayout<V, E> getFunctionGraphLayout(Layout<V, E> layout) {
		if (layout instanceof LayoutDecorator) {
			LayoutDecorator<V, E> layoutDecorator = (LayoutDecorator<V, E>) layout;
			layout = layoutDecorator.getDelegate();
		}

		if (layout instanceof VisualGraphLayout) {
			return (VisualGraphLayout<V, E>) layout;
		}
		return null;
	}
A class to override the default edge label placement.   This class is called a renderer because
the parent class is.  However, it is not a renderer in the sense that it's job is to paint
the contents, like in Java when you provide a cell rendering component, but rather, it uses
such a component.  Further, the job of this class is to position said component and then to 
have it paint its contents.
<p>
Normally we would just set our custom renderer on the {@link RenderContext} at construction 
time, like we do with the other rendering classes, but not such method is provided.
Ghidra/Framework/Graph/src/main/java/ghidra/graph/viewer/edge/BasicEdgeLabelRenderer.java