private void processSingleRefs(Address address, int opIndex, Reference[] latestRefs,
			Reference[] myRefs, Reference[] originalRefs) {
		boolean hasRefTypeConflict = hasRefTypeConflict(latestRefs, myRefs, originalRefs);
		if (originalRefs.length > 0) {
			if ((myRefs.length == 0) || (latestRefs.length == 0)) {
				if (hasRefTypeConflict) {
					saveRemoveConflict(originalRefs[0]);
				}
				else {
					// Auto merge the type it changed to.
					if (myRefs.length != 0) {
						listingMergeMgr.mergeMy.replaceReferences(address, opIndex);
					}
				}
			}
			else if (!diffOriginalMy.equalRefs(originalRefs[0], myRefs[0])) {
				saveChangeConflict(myRefs[0]);
			}
		}
		else {
			if (!diffLatestMy.equalRefs(latestRefs[0], myRefs[0])) {
				saveAddConflict(myRefs[0]);
			}
		}
	}
@param program
@param fromAddress
@param operandIndex
@return
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ReferenceMerger.java