@Override
	public boolean containsAnyUpper(Lifespan range) {
		try (LockHold hold = trace.lockRead()) {
			synchronized (ordered) {
				// NB. This should only ever visit the first range intersecting that given
				for (Lifespan intersecting : spanSet.intersecting(range)) {
					if (range.contains(intersecting.lmax())) {
						return true;
					}
				}
				return false;
			}
		}
	}
NB: This is also the syncing object for the viewport. If there's even a chance an operation
may need the DB's lock, esp., considering user callbacks, then it must <em>first</em> acquire
the DB lock.
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/DBTraceTimeViewport.java