protected JPopupMenu doCreateMenu() {

		JPopupMenu menu = new JPopupMenu();
		List<DockingActionIf> actionList = multipleAction.getActionList(getActionContext());
		for (DockingActionIf dockingAction : actionList) {

			Component component = dockingAction.createMenuComponent(false);
			if (!(component instanceof JMenuItem item)) {
				// not an actual item, e.g., a separator as in HorizontalRuleAction
				menu.add(component);
				continue;
			}

			// a custom Ghidra UI that handles alignment issues and allows for tabulating presentation
			item.setUI(DockingMenuItemUI.createUI(item));
			final DockingActionIf delegateAction = dockingAction;
			item.addActionListener(e -> {
				ActionContext context = getActionContext();
				context.setSourceObject(e.getSource());
				if (delegateAction instanceof ToggleDockingAction) {
					ToggleDockingAction toggleAction = (ToggleDockingAction) delegateAction;
					toggleAction.setSelected(!toggleAction.isSelected());
				}
				delegateAction.actionPerformed(context);
			});
			ButtonModel itemButtonModel = item.getModel();
			itemButtonModel.addChangeListener(new HoverChangeListener(delegateAction));

			menu.add(item);
		}
		return menu;
	}
Show a popup containing all the actions below the button

@return the popup menu that was shown
Ghidra/Framework/Docking/src/main/java/docking/menu/MultipleActionDockingToolbarButton.java