private void createActions() {

		// use the name of the provider so that the shared key binding data will get used
		String actionName = "Static Function Call Trees";
		String group = "ShowReferencesTo";
		showCallTreeFromMenuAction = new DockingAction(actionName, getName()) {
			@Override
			public void actionPerformed(ActionContext context) {
				Function f = getFunction(context);
				showNewCallTree(f);
			}

			@Override
			public boolean isEnabledForContext(ActionContext context) {
				Function f = getFunction(context);
				if (f == null) {
					return false;
				}

				String menuText = "Show Call Trees for " + f.getName();
				String trimmedMenuText = StringUtilities.trim(menuText, 50);

				setPopupMenuData(new MenuData(
					new String[] { "References", trimmedMenuText }, PROVIDER_ICON, group));
				return true;
			}
		};

		showCallTreeFromMenuAction.setPopupMenuData(new MenuData(
			new String[] { "References", "Show Call Trees" }, PROVIDER_ICON, group));
		showCallTreeFromMenuAction
				.setHelpLocation(new HelpLocation("CallTreePlugin", "Call_Tree_Plugin"));
		showCallTreeFromMenuAction.setDescription("Shows the Function Call Trees window for the " +
			"item under the cursor.  The new window will not change along with the Listing cursor.");
		tool.addAction(showCallTreeFromMenuAction);
	}
Assuming a function <b>foo</b>, this plugin will show:
 1) all callers of <b>foo</b> 
 2) all functions which reference <b>foo</b>
 3) all callees of <b>foo</b>
 4) all functions referenced by <b>foo</b>.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/calltree/CallTreePlugin.java