@Override
	public synchronized void removeActions(String owner) {

		// remove from the outer map first, to prevent concurrent modification exceptions
		Map<String, Set<DockingActionIf>> toCleanup = actionsByNameByOwner.remove(owner);
		if (toCleanup == null) {
			return; // no actions registered for this owner
		}

		// Note: this method is called when plugins are removed.  'owner' is the name of the plugin.
		// This method will also get called while passing the system owner.  In that case, we do 
		// not want to remove system actions in this method.   We check below for system actions.

		//@formatter:off
		toCleanup.values()
			.stream()
			.flatMap(set -> set.stream())
			.filter(action -> !keyBindingsManager.isSystemAction(action)) // (see note above) 
			.forEach(action -> removeGlobalAction(action))
			;
		//@formatter:on
	}
Add an action that works specifically with a component provider.
@param provider provider associated with the action
@param action local action to the provider
Ghidra/Framework/Docking/src/main/java/docking/actions/ToolActions.java