private void initializeProgramMerges() {
		myAddressTranslator = new ExternalsAddressTranslator(programs[RESULT], programs[MY]);
		latestAddressTranslator =
			new ExternalsAddressTranslator(programs[RESULT], programs[LATEST]);
		originalAddressTranslator =
			new ExternalsAddressTranslator(programs[RESULT], programs[ORIGINAL]);

		// Set up for the different types of merges that are needed to merge changes.
		mergeMy = new ProgramMerge(myAddressTranslator);
		mergeLatest = new ProgramMerge(latestAddressTranslator);
		mergeOriginal = new ProgramMerge(originalAddressTranslator);
	}
Determine the type of changes to the symbols in the LATEST and MY (CheckedOut) program.
Changes can be symbol removed, added, changed, renamed, and set to primary.
@param monitor task monitor for displaying progress to the user
@throws CancelledException if the user cancels the merge.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ExternalFunctionMerger.java