protected GraphViewer<V, E> createPrimaryGraphViewer(VisualGraphLayout<V, E> layout,
			Dimension viewerSize) {

		//
		// This method can be overridden by subclasses to perform custom creation and setup.
		// Any setup, like renderers, that this class should not override must be put in this
		// method so that subclasses can override.  Common setup items should be in the
		// method that calls this one.
		//

		GraphViewer<V, E> viewer = new GraphViewer<>(layout, viewerSize);

		viewer.setGraphOptions(vgOptions);

		return viewer;
	}
A component that contains primary and satellite graph views.  This viewer provides
methods for manipulating the graph using the mouse.

<p>To gain the full functionality offered by this class, clients will need to subclass
this class and override {@link #createPrimaryGraphViewer(VisualGraphLayout, Dimension)}
and {@link #createSatelliteGraphViewer(GraphViewer, Dimension)} as needed.   This allows
them to customize renderers and other viewer attributes.  To use the subclass, see the
{@link VisualGraphView} and its <code>installGraphViewer()</code> method.

@param <V> the vertex type
@param <E> the edge type
@param <G> the graph type

@see GraphViewer
Ghidra/Framework/Graph/src/main/java/ghidra/graph/viewer/GraphComponent.java