@Override
	protected void validate() {
		if (actionStateChangedCallback == null) {
			throw new IllegalStateException(
				"Can't build a MultiStateDockingAction without an action state changed callback");
		}
	}
Generate the states dynamically upon the user clicking the button

<p>
It is highly recommended that the current state is included in the list of available states.
Otherwise, the user could become confused or frustrated.

@param generator a function from action context to available states
@return this MultiActionDockingActionBuilder (for chaining)
Ghidra/Framework/Docking/src/main/java/docking/action/builder/MultiStateActionBuilder.java