@Override
	public List<Lifespan> getReversedSpans() {
		ArrayList<Lifespan> result = new ArrayList<>();
		try (LockHold hold = trace.lockRead()) {
			synchronized (ordered) {
				ListIterator<Lifespan> it = ordered.listIterator(ordered.size());
				while (it.hasPrevious()) {
					result.add(it.previous());
				}
			}
		}
		return result;
	}
Construct the ranges (set and ordered)

<p>
NOTE: I cannot hold the lock during this, because I also require the DB's read lock. There
are other operations, e.g., addRegion, that will hold the DB's write lock, and then also
require the viewport's lock to check if it is visible. That would cause the classic tango of
death.

@param curSnap the seed snap
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/DBTraceTimeViewport.java