@SuppressWarnings("unchecked")
	public default GraphViewer<V, E> getGraphViewer(MouseEvent e) {
		VisualizationViewer<V, E> viewer = (VisualizationViewer<V, E>) e.getSource();

		// is this the satellite viewer? 
		if (viewer instanceof SatelliteGraphViewer) {
			return (GraphViewer<V, E>) ((SatelliteGraphViewer<V, E>) viewer).getMaster();
		}

		if (viewer instanceof GraphViewer) {
			GraphViewer<V, E> graphViewer = (GraphViewer<V, E>) viewer;
			return graphViewer;
		}

		throw new IllegalStateException("Do not have a master or satellite GraphViewer");
	}
Returns the <b>primary/master</b> graph viewer.

@param e the mouse event from which to get the viewer
@return the viewer
Ghidra/Framework/Graph/src/main/java/ghidra/graph/viewer/event/mouse/VisualGraphMousePlugin.java