private void codeAdded(TraceAddressSpace space, TraceAddressSnapRange range,
				TraceCodeUnit oldIsNull, TraceCodeUnit added) {
			// NOTE: Added code may be coalesced range. -added- is just first unit.
			// TODO: The range may contain many units, so this could be broken down
			DomainObjectEventQueues queues =
				isCodeVisible(space, range) ? getEventQueues(space) : null;
			if (queues == null) {
				return;
			}
			fireCodeAdded(queues, range.getX1(), range.getX2());
		}
A wrapper on a trace, which given a snap, implements the {@link Program} interface

<p>
NOTE: Calling {@link CodeUnit#getProgram()} from units contained in this view may not necessarily
return this same view. If the code unit comes from a less-recent snap than the snap associated
with this view, the view for that snap is returned instead.

<p>
TODO: Unit tests for all of this.
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/program/DBTraceProgramView.java