private void executeAction(ActionContext context, int repeatCount) {
		Program program = getProgram(context);
		if (program == null) {
			return;
		}

		saveCurrentLocationToHistory();

		try {
			doAction(program, repeatCount);
		}
		catch (IOException e) {
			Msg.showError(this, null, getName() + " Error",
				"Error occured while attempting " + getName() + "!", e);
		}

	}
Abstract base class for the undo and redo actions. These actions add a listener to the
current context program in order to know when to update their enabled state and description.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/AbstractUndoRedoAction.java