protected Instruction doAdjustExisting(Address address, Instruction protoInstr)
				throws AddressOverflowException, CancelledException, CodeUnitInsertionException {
			DBTraceInstruction exists = getAt(lifespan.lmin(), address);
			if (exists == null || exists.getLength() != protoInstr.getLength()) {
				AddressRange range =
					new AddressRangeImpl(protoInstr.getAddress(), protoInstr.getLength());
				space.definedUnits.clear(lifespan, range, false, TaskMonitor.DUMMY);
				return null;
			}
			if (!isSuitable(exists, protoInstr)) {
				truncateOrDelete(exists);
				return null;
			}
			long curEnd = exists.getEndSnap();
			if (curEnd < lifespan.lmax()) {
				AddressRange range =
					new AddressRangeImpl(protoInstr.getAddress(), protoInstr.getLength());
				long endSnap = computeTruncatedMax(lifespan, exists, range);
				exists.setEndSnap(endSnap);
			}
			return exists;
		}
Construct an adder

<p>
This should only be done after the entire instruction set has been checked

@param skipDelaySlots addresses of delay slotted instructions to skip
@param lifespan the lifespan for each instruction
@param platform the platform (language, compiler) for the instructions
@param block the block to add
@param errorAddress the address of the first error in the block, if any
@param conflict a description of the error, if any
@param conflictCodeUnit if a conflict, the code unit that already exists
@param overwrite true to overwrite existing defined units
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceInstructionsView.java