private ChangeListener getButtonModelChangeListener() {
		if (menuHandler == null) {
			return e -> {
				// dummy
			};
		}
		return e -> {
			if (!menuItem.isShowing()) {
				return;	// model changed, but the user is not moving the mouse
			}
			boolean isArmed = menuItem.isArmed();
			if (isArmed) {
				menuHandler.menuItemEntered(action);
			}
			else {
				menuHandler.menuItemExited(action);
			}
		};
	}
Class to manage a JMenuItem for an action.  Handles property changes in the action
and makes the corresponding change in the menuItem.
Ghidra/Framework/Docking/src/main/java/docking/menu/MenuItemManager.java