private void replaceFallThrough(Address originAddress) {
		Address resultAddress = originToResultTranslator.getAddress(originAddress);
		Instruction resultInstruction = resultListing.getInstructionAt(resultAddress);
		Instruction originInstruction = originListing.getInstructionAt(originAddress);
		if (originInstruction == null || resultInstruction == null) {
			return;
		}
		boolean resultOverridden = resultInstruction.isFallThroughOverridden();
		boolean originOverridden = originInstruction.isFallThroughOverridden();
		if (!resultOverridden && !originOverridden) {
			return; // Neither has overridden the fallthrough
		}
		Address resultFallThrough = resultInstruction.getFallThrough();
		Address originFallThrough = originInstruction.getFallThrough();
		Address originFTCompatibleWithResult =
			originToResultTranslator.getAddress(originFallThrough);
		if (Objects.equals(resultFallThrough, originFTCompatibleWithResult)) {
			return;
		}
		if (!originOverridden) {
			resultInstruction.clearFallThroughOverride();
		}
		else {
			resultInstruction.setFallThrough(originFTCompatibleWithResult);
		}
	}
<CODE>replaceFallThroughs</CODE> replaces all fallthroughs in
program1 for the specified address set with those in program2 where they differ.

@param originAddressSet the addresses to be merged.
The addresses in this set should be derived from the origin program.
@param monitor the task monitor for notifying the user of this merge's
progress.
@throws CancelledException if the user cancels the replace via the monitor.
Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramMerge.java