@Override
	public void readConfigState(SaveState saveState) {

		// Note: we want to restore this value before the satellite visibility, as setting the
		// docked state will affect that state, which is what we want when the user executes the
		// action, but not when restoring saved settings.
		boolean dockSatellite = saveState.getBoolean(DOCK_SATELLITE, true);
		dockSatelliteAction.setSelected(dockSatellite);
		view.setSatelliteDocked(dockSatellite);

		boolean showSatellite = saveState.getBoolean(DISPLAY_SATELLITE, true);
		toggleSatelliteAction.setSelected(showSatellite);
		view.setSatelliteVisible(showSatellite);

		String positionString = saveState.getString(DOCK_SATELLITE_POSITION, LOWER_RIGHT.name());
		SatellitePosition position = SatellitePosition.valueOf(positionString);
		view.setSatellitePosition(position);
		deselectAllSatellitePositions();
		switch (position) {
			case LOWER_LEFT:
				lowerLeftAction.setSelected(true);
				break;
			case LOWER_RIGHT:
				lowerRightAction.setSelected(true);
				break;
			case UPPER_LEFT:
				upperLeftAction.setSelected(true);
				break;
			case UPPER_RIGHT:
				upperRightAction.setSelected(true);
				break;
		}
	}
A sub-feature that provides a satellite viewer to {@link VisualGraphComponentProvider}s

<p>Note: this class installs actions to manipulate the satellite view.  For these to be 
correctly enabled, you must produce {@link VgActionContext} objects in your
{@link VisualGraphComponentProvider#getActionContext(MouseEvent)} method.  Specifically, 
the context returned must be a type of {@link VgActionContext}, with the 
{@link VgActionContext#shouldShowSatelliteActions()} returning true.

@param <V> the vertex type 
@param <E> the edge type
@param <G> the graph type
Ghidra/Framework/Graph/src/main/java/ghidra/graph/featurette/VgSatelliteFeaturette.java