private boolean isIncompatible(Reference ref, boolean isOffset, boolean isShifted,
			long offsetOrShift) {

		if (isShifted != ref.isShiftedReference() || isOffset != ref.isOffsetReference()) {
			return true;
		}

		if (isShifted) {
			return ((ShiftedReference) ref).getShift() != offsetOrShift;
		}
		if (isOffset) {
			return ((OffsetReference) ref).getOffset() != offsetOrShift;
		}
		return false;
	}
Check an existing reference to determine if there is the possibility of merging
reference-types
@param ref existing reference
@param isOffset true if new reference is an offset reference
@param isShifted true if new reference is a shifted reference
@param offsetOrShift the offset or shift amount 
@return true if incompatible
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/references/ReferenceDBManager.java