public void addAction(ComponentProvider optionalProvider, DockingActionIf action) {
		action.addPropertyChangeListener(this);
		if (optionalProvider != null) {
			actionToProviderMap.put(action, optionalProvider);
		}

		KeyBindingData kbData = action.getKeyBindingData();
		if (kbData == null) {
			return;
		}

		KeyStroke keyBinding = kbData.getKeyBinding();
		if (keyBinding != null) {
			addKeyBinding(optionalProvider, action, keyBinding);
		}

		MouseBinding mouseBinding = kbData.getMouseBinding();
		if (mouseBinding != null) {
			doAddMouseBinding(action, mouseBinding);
		}
	}
A class that organizes system key bindings by mapping them to assigned {@link DockingActionIf}s.

<p>This class understands reserved system key bindings.  For non-reserved key bindings, this
class knows how to map a single key binding to multiple actions.
Ghidra/Framework/Docking/src/main/java/docking/action/KeyBindingsManager.java