public B enabledWhen(Predicate<C> predicate) {
		enabledPredicate = Objects.requireNonNull(predicate);
		return self();
	}
Sets a predicate for dynamically determining the action's enabled state.  See 
{@link DockingActionIf#isEnabledForContext(ActionContext)}

<p>If this predicate is not set, the action's enable state must be controlled 
directly using the {@link DockingAction#setEnabled(boolean)} method.  We do not recommend
controlling enablement directly. And, of course, if you do set this predicate, you should 
not later call {@link DockingAction#setEnabled(boolean)} to manually manage enablement.
 
@param predicate the predicate that will be used to dynamically determine an action's 
       enabled state
@return this builder (for chaining)
Ghidra/Framework/Docking/src/main/java/docking/action/builder/AbstractActionBuilder.java