private void showMergePanel(long id, TaskMonitor monitor) {

		try {
			final ChangeListener changeListener = e -> {
				conflictOption = conflictPanel.getSelectedOptions();
				if (conflictOption == ASK_USER || conflictOption == CANCELED) {
					if (mergeManager != null) {
						mergeManager.setApplyEnabled(false);
					}
					return;
				}
				if (mergeManager != null) {
					mergeManager.clearStatusText();
				}
				try {
					merge(conflictOption, monitor);
					if (mergeManager != null) {
						mergeManager.setApplyEnabled(true);
					}
				}
				catch (CancelledException e1) {
					// user cancel - no need to log
				}

			};
			SwingUtilities.invokeAndWait(() -> setupConflictPanel(id, changeListener, monitor));
		}
		catch (InterruptedException | InvocationTargetException e) {
			Msg.error(this, "Unexpected error showing merge panel for tag " + id, e);
		}

		if (mergeManager != null) {
			mergeManager.setApplyEnabled(false);
			mergeManager.showComponent(conflictPanel, "FunctionTagMerge",
				new HelpLocation(HelpTopics.REPOSITORY, "FunctionTags"));
		}
		// block until the user either cancels or hits the "Apply" button
		// on the merge dialog...
		// when the "Apply" button is hit, get the user's selection
		// and continue.
	}
Displays the conflict panel for a tag.

@param id the tag id to merge
@param monitor task monitor
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/FunctionTagMerger.java