@Override
	public void autoMerge(int progressMin, int progressMax, TaskMonitor monitor)
			throws ProgramConflictException, MemoryAccessException, CancelledException {

		initializeAutoMerge("Auto-merging Bytes and Code Units and determining conflicts.",
			progressMin, progressMax, monitor);

		monitor.setMessage("Setting up Code Unit merge.");

		updateProgress(0, "Finding conflicting byte changes...");
		getByteSets(monitor); // Direct byte conflicts

		updateProgress(15, "Finding conflicting code unit changes...");
		getCodeUnitSets(monitor); // Direct Code Unit conflicts

		updateProgress(30,
			"Finding conflicts between bytes, code units, equates and references...");
		getIndirectConflicts(monitor); // Indirect conflicts between bytes, code units, equates, and references.

		conflictAll = new AddressSet(conflictCodeUnits);
		conflictAll.add(conflictBytes);
		conflictAll.add(conflictByteCU);
		conflictAll.add(conflictCUByte);
		conflictAll.add(conflictByteEquate);
		conflictAll.add(conflictEquateByte);
		conflictAll.add(conflictEquateCU);
		conflictAll.add(conflictCUEquate);
		conflictAll.add(conflictRefCU);
		conflictAll.add(conflictCURef);

		updateProgress(45, "Aligning conflict ranges...");
		// Align the conflict ranges between the Latest, My, and Original programs.
		ranges = getManualMergeRanges(conflictAll); // This also sets "manualSet".
		AddressSet sameCodeUnitChanges = bothChangedCUSet.subtract(conflictCodeUnits);
		autoCodeUnits = myCUSet.subtract(sameCodeUnitChanges).subtract(manualSet);
		autoBytes = myByteSet.subtract(manualSet);
		if (monitor.isCancelled()) {
			throw new CancelledException();
		}

		updateProgress(60, "Auto-merging byte, code unit, and equate changes...");
		performAutoMerge(monitor); // 3 Auto-Merges (bytes, code units, equates)

		updateProgress(100, "Done auto-merging Bytes and Code Units and determining conflicts.");
	}
For JUnit testing only, set the option for resolving a conflict.
@param decision CANCELED, ASK_USER, LATEST, MY, ORIGINAL
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/CodeUnitMerger.java