@Override
	public void registerSharedActionPlaceholder(SharedDockingActionPlaceholder placeholder) {

		String name = placeholder.getName();
		SharedStubKeyBindingAction stub = sharedActionMap.computeIfAbsent(name, key -> {

			ActionTrigger actionTrigger = getActionTrigger(placeholder);
			SharedStubKeyBindingAction newStub =
				new SharedStubKeyBindingAction(name, actionTrigger, options);
			registerStub(newStub, actionTrigger);
			return newStub;
		});

		String owner = placeholder.getOwner();
		stub.addActionOwner(owner);
	}
Allows clients to register an action by using a placeholder.  This is useful when
an API wishes to have a central object (like a plugin) register actions for transient
providers, that may not be loaded until needed.

<p>This method may be called multiple times with the same conceptual placeholder--the
placeholder will only be added once.

@param placeholder the placeholder containing information related to the action it represents
Ghidra/Framework/Docking/src/main/java/docking/actions/ToolActions.java