private void merge(int chosenConflictOption, TaskMonitor monitor) throws CancelledException {
		Program fromPgm = null;
		switch (chosenConflictOption) {
			case KEEP_LATEST:
				fromPgm = latestProgram;
				break;
			case KEEP_MY:
				fromPgm = myProgram;
				break;
			case KEEP_ORIGINAL:
				fromPgm = originalProgram;
				break;
			default:
				return;
		}

		try {
			merge(fromPgm, monitor);
		}
		catch (IOException e) {
			Msg.error(this, "error merging conflict", e);
		}
	}
Merges the desired program (based on the provided option) into the Result program.

@param chosenConflictOption conflict option indicating the program version to use.
@param monitor the task monitor
@throws CancelledException
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/FunctionTagMerger.java