@Override
	public boolean apply() {
		if (mergeManager == null) {
			return false;
		}
		boolean resolvedAll = allChoicesAreResolved();
		if (resolvedAll) {
			if (conflictListener != null) {
				conflictListener.resolveConflict();
				conflictListener = null;
			}

			int useForAllChoice = currentConflictPanel.getUseForAllChoice();
			// If the "Use For All" check box is selected
			// then save the option chosen for this conflict type.
			if (currentConflictPanel.getUseForAll()) {
				setChoiceForExternalConflictType(currentExternalConflictType, useForAllChoice);
			}

			mergeManager.setApplyEnabled(false);
			return true;
		}
		mergeManager.setStatusText("Please select an option to resolve each conflict.");
		return false;
	}
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