protected FunctionVariableStorageConflicts determineStorageConflict(Function[] functions,
			TaskMonitor monitor) throws CancelledException {
		if (functions[LATEST] == null || functions[MY] == null) {
			return null;
		}
		FunctionVariableStorageConflicts variableStorageConflicts =
			new FunctionVariableStorageConflicts(functions[LATEST], functions[MY],
				!functions[RESULT].hasCustomVariableStorage(), monitor);
		if (!variableStorageConflicts.hasOverlapConflict()) {
			return null;
		}
		saveFunctionDetailConflict(functions, FUNC_VAR_STORAGE);
		return variableStorageConflicts;
	}
Compares the functions (Latest, Original, My) to determine where conflicting changes
have been made to Latest and My. It then saves the conflict info within the merger for 
later resolution and processing.
@param functions the matching set of functions from Result, Latest, My, and Original.
(Use MergeConstants.RESULT, LATEST, MY, ORIGINAL to reference these.)
@param ignoreNames true indicates that function name differences should not be detected.
@param monitor the merge status monitor
@throws CancelledException if merge has been cancelled.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/AbstractFunctionMerger.java