@Override
	@SuppressWarnings("hiding")
	public boolean conflictsWith(AddressRange range, Lifespan lifespan, URL toProgramURL,
			String toAddress) {
		try (LockHold hold = LockHold.lock(manager.lock.readLock())) {
			// Must overlap to conflict
			if (!traceRange.intersects(range)) {
				return false;
			}
			if (!this.lifespan.intersects(lifespan)) {
				return false;
			}

			/**
			 * NOTE: We can't validate the "to" address, because we should not open the program
			 * here. Nevertheless, we need to validate conflicts at the trace database level, not
			 * the service level. We can at least check for matched address space (by name) and
			 * agreement in offset.
			 */
			if (!Objects.equals(this.staticProgramURL, toProgramURL)) {
				return true;
			}

			String thisToSpace = parseSpace(this.staticAddress);
			String thatToSpace = parseSpace(toAddress);
			if (!Objects.equals(thisToSpace, thatToSpace)) {
				return true;
			}

			long thisToOffset = parseOffset(this.staticAddress);
			long thatToOffset = parseOffset(toAddress);
			long toOffsetDiff = thisToOffset - thatToOffset;

			// TODO: Check that this operates at the byte level, not addressable words
			long thisFromOffset = this.traceRange.getMinAddress().getOffset();
			long thatFromOffset = range.getMinAddress().getOffset();
			long fromOffsetDiff = thisFromOffset - thatFromOffset;

			if (toOffsetDiff != fromOffsetDiff) {
				return true;
			}

			return false;
		}
	}
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