private void createActions() {
		new ActionBuilder("Add External Program Name", getOwner())
				.popupMenuPath("Add External Program")
				.popupMenuIcon(ADD_ICON)
				.toolBarIcon(ADD_ICON)
				.enabledWhen(ac -> program != null)
				.onAction(ac -> addExternalProgram())
				.buildAndInstallLocal(this);

		new ActionBuilder("Delete External Program Name", getOwner())
				.popupMenuPath("Delete External Program")
				.popupMenuIcon(DELETE_ICON)
				.toolBarIcon(DELETE_ICON)
				.enabledWhen(ac -> hasSelectedRows())
				.onAction(ac -> deleteExternalProgram())
				.buildAndInstallLocal(this);

		new ActionBuilder("Set External Name Association", getOwner())
				.popupMenuPath("Set External Name Association")
				.popupMenuIcon(EDIT_ICON)
				.toolBarIcon(EDIT_ICON)
				.enabledWhen(ac -> isSingleRowSelected())
				.onAction(ac -> setExternalProgramAssociation())
				.buildAndInstallLocal(this);

		new ActionBuilder("Clear External Name Association", getOwner())
				.popupMenuPath("Clear External Name Association")
				.popupMenuIcon(CLEAR_ICON)
				.toolBarIcon(CLEAR_ICON)
				.enabledWhen(ac -> hasSelectedRows())
				.onAction(ac -> clearExternalAssociation())
				.buildAndInstallLocal(this);

	}
ComponentProvider that displays a table of External Programs.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/references/ExternalReferencesProvider.java