private ExecutableAction createNonDialogExecutableAction(ActionContext localContext,
			Map<Class<? extends ActionContext>, ActionContext> contextMap) {

		MultiExecutableAction multiAction = new MultiExecutableAction();

		//
		// 1) Prefer local actions for the active provider
		//
		getLocalContextActions(localContext, multiAction);
		if (multiAction.isValid()) {
			// At this point, we have local docking actions that may or may not be enabled. Exit 
			// so that any component specific actions or global found below will not interfere with 
			// the provider's local actions
			return multiAction;
		}

		//
		// 2) Check for actions local to the source component (e.g., GTable and GTree)
		//
		getLocalComponentActions(localContext, multiAction);
		if (multiAction.isValid()) {
			// At this point, we have local component actions that may or may not be enabled. Exit
			// so that any global actions found below will not interfere with these component 
			// actions.
			return multiAction;
		}

		//
		// 3) Check for global actions using the current context 
		//
		getGlobalActions(localContext, multiAction);
		if (multiAction.isValid()) {
			// We have found global actions that are valid for the current local context.  Do not
			// also look for global actions that work for the default context.
			return multiAction;
		}

		//
		// 4) Check for global actions using the default context.  This is a final fallback to allow
		//    global actions to work that are unrelated to the current active component's context.
		// 
		getGlobalDefaultContextActions(contextMap, multiAction);
		return multiAction;
	}
Enables or disables the action.  This affects all uses of the action.  Note that for popups,
this affects whether or not the option is "grayed out", not whether the action is added
to the popup.

@param newValue  true to enable the action, false to disable it
@see Action#setEnabled
Ghidra/Framework/Docking/src/main/java/docking/action/MultipleKeyAction.java