@Override
	public TraceModule getLoadedModuleByPath(long snap, String modulePath) {
		if (trace.getObjectManager().hasSchema()) {
			return trace.getObjectManager()
					.getObjectByPath(snap, modulePath, TraceObjectModule.class);
		}
		try (LockHold hold = LockHold.lock(lock.readLock())) {
			return doGetModulesByPath(modulePath).stream()
					.filter(m -> m.isValid(snap))
					.findAny()
					.orElse(null);
		}
	}
TODO: Certainly, any two sections at the same path will belong to the same module and
so have the same lifespan, no? I suppose this logic is only true in objects mode...,
and there, the logic is performed by the value key duplicate check.
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/module/DBTraceModuleManager.java