void set(AddressRange traceRange, Lifespan lifespan, URL staticProgramURL,
			String staticAddress) {
		if (startSnap == -1) {
			throw new IllegalArgumentException("endpoint cannot be -1");
		}
		this.traceRange = traceRange;
		this.traceAddress = traceRange.getMinAddress();
		this.length = traceRange.getLength();
		this.lifespan = lifespan;
		this.startSnap = lifespan.lmin();
		this.endSnap = lifespan.lmax();
		this.staticProgramURL = staticProgramURL;
		this.staticAddress = staticAddress;
		update(TRACE_ADDRESS_COLUMN, LENGTH_COLUMN, START_SNAP_COLUMN, END_SNAP_COLUMN,
			STATIC_PROGRAM_COLUMN, STATIC_ADDRESS_COLUMN);

		this.shift = traceAddress.getOffset() - parseOffset(staticAddress);
	}
The implementation of a static mapping, directly via a database object

<p>
Version history:
<ul>
<li>1: Change {@link #traceAddress} to 10-byte fixed encoding</li>
<li>0: Initial version and previous unversioned implementation</li>
</ul>
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/module/DBTraceStaticMapping.java