private void handleExternalRemoveFunctionConflict(ExternalLocation[] externalLocations,
			int chosenConflictOption, TaskMonitor monitor) throws CancelledException {

		currentExternalConflictType = ExternalConflictType.EXTERNAL_FUNCTION_REMOVE_CONFLICT;
		updateExternalNameInfo(externalLocations, MY);
		boolean askUser =
			(externalFunctionRemovalChoice == ASK_USER) && (chosenConflictOption == ASK_USER);
		updateAddressTranslators(externalLocations);

		if (askUser && mergeManager != null) {
			VerticalChoicesPanel choicesPanel =
				createExternalRemoveFunctionConflictPanel(externalLocations, monitor);

			boolean useForAll = (removeChoice != ASK_USER);
			choicesPanel.setUseForAll(useForAll);
			choicesPanel.setConflictType("External Function Removal");

			setupConflictPanel(listingMergePanel, choicesPanel, externalLocations, monitor);
			monitor.checkCancelled();
		}
		else {
			// If we have a external function removal choice then a "Use For All" has already occurred.
			int optionToUse = (externalFunctionRemovalChoice == ASK_USER) ? chosenConflictOption
					: externalFunctionRemovalChoice;
			merge(externalLocations, optionToUse, monitor);
		}
	}
Puts the LongLongHashtables, that map the symbol IDs from LATEST, MY, and
ORIGINAL programs to the RESULT program symbol IDs, into the Merge Manager.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ExternalFunctionMerger.java