private void handleTypeConflict(ListingMergePanel listingPanel, Address addr, int opIndex,
			int chosenConflictOption, boolean askUser, TaskMonitor monitor)
			throws CancelledException {
		ArrayList<Integer> opIndexList = typeConflicts.get(addr);
		if (opIndexList == null || opIndexList.size() == 0) {
			return;
		}
		if (opIndexList.contains(Integer.valueOf(opIndex))) {
			currentReference = null;
			currentAddress = addr;
			currentOpIndex = opIndex;
			currentBackgroundSet = new AddressSet(addr, addr);
			currentConflictType = TYPE_CONFLICT;
			// If we have a reference type choice then a "Use For All" has already occurred.
			if (referenceTypeChoice != ASK_USER) {
				resolveTypeConflict(addr, opIndex, referenceTypeChoice);
			}
			else {
				if (askUser && mergeManager != null) {
					showConflictPanel(listingPanel, TYPE_CONFLICT);
					monitor.checkCancelled();
				}
				else {
					resolveTypeConflict(addr, opIndex, chosenConflictOption);
				}
			}
		}
	}
Replace the fallthroughs where possible. 
@param addressSet the address set where fallthroughs should be replaced
@param chosenConflictOption indicator of where to get references from (KEEP_ORIGINAL, KEEP_LATEST, KEEP_MY).
@param monitor task monitor
@throws CancelledException if user cancels.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ReferenceMerger.java