private void handleConflicts(TaskMonitor monitor) throws CancelledException {
		monitor.setMessage("Resolving Function Tag conflicts");
		boolean askUser = (conflictOption == ASK_USER);

		int totalConflicts = tagConflicts.size();
		monitor.initialize(totalConflicts);
		for (long id : tagConflicts.keySet()) {
			if ((conflictChoice == ASK_USER) && askUser && mergeManager != null) {
				monitor.checkCancelled();
				currentlyMergingTagID = id;
				showMergePanel(id, monitor);
			}
			else {
				int optionToUse = (conflictChoice == ASK_USER) ? conflictOption : conflictChoice;
				currentlyMergingTagID = id;
				merge(optionToUse, monitor);
			}
			monitor.incrementProgress(1);

			int pctComplete = (int) ((monitor.getProgress() / totalConflicts) * 100);
			mergeManager.updateProgress(pctComplete);
		}
	}
Displays a conflict resolution panel for each conflict discovered during
{@link #autoMerge()}.

@param monitor the task monitor
@throws CancelledException
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/FunctionTagMerger.java