private Instruction findLastDelaySlot(Instruction instr) {
		Instruction lastInstr = instr;
		try {
			while (true) {
				Address nextAddr = lastInstr.getMaxAddress().addNoWrap(1);
				Instruction checkInstr = instr.getProgram().getListing().getInstructionAt(nextAddr);
				if (checkInstr == null || !checkInstr.isInDelaySlot()) {
					break;
				}
				lastInstr = checkInstr;
			}
		}
		catch (AddressOverflowException e) {
			// ignore
		}
		return lastInstr;
	}
Code units are compared between the indicated listings starting at the
indicated address. The listings are searched in forward address order
until the address is found where all the listings have a code unit
with the same maximum address.
@param listings the program listings in the order LATEST, MY, ORIGINAL.
@param start the address to start at.
@return the common address where code units end for all listings or null.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/CodeUnitMerger.java