protected void addPlugins() {

		//
		// Note: the order of these additions matters, as an event will flow to each plugin until
		//       it is handled.
		//

		// passes events to the Ghidra components
		add(new VisualGraphEventForwardingGraphMousePlugin<V, E>());

		// edge and vertex picking
		add(new VisualGraphEdgeSelectionGraphMousePlugin<V, E>());
//        add( new VisualGraphAnimatedPickingGraphMousePlugin<V, E>() );
		add(new VisualGraphZoomingPickingGraphMousePlugin<V, E>());

		// zooming and alternate mouse wheel operation--panning
		add(new VisualGraphScalingGraphMousePlugin<V, E>());
		add(new VisualGraphScrollWheelPanningPlugin<V, E>());

		// the grab/pan feature
		add(new VisualGraphTranslatingGraphMousePlugin<V, E>());

		// ...more picking (dragging an area and single node picking)
		add(new VisualGraphPickingGraphMousePlugin<V, E>());

		// cursor cleanup
		add(new VisualGraphCursorRestoringGraphMousePlugin<V, E>());
	}
This is the class that controls which mouse plugins get installed into the graph.

@param <V> the vertex type
@param <E> the edge type
Ghidra/Framework/Graph/src/main/java/ghidra/graph/viewer/event/mouse/VisualGraphPluggableGraphMouse.java