@Override
	public void setName(long snap, String name) throws DuplicateNameException {
		try (LockHold hold = LockHold.lock(space.lock.writeLock())) {
			if (Objects.equals(this.name, name)) {
				return;
			}
			DBTraceSection exists = space.manager.doGetSectionByName(moduleKey, name);
			if (exists != null) {
				throw new DuplicateNameException(name + " (in " + module + ")");
			}
			this.name = name;
			update(NAME_COLUMN);
			module.space.trace
					.setChanged(new TraceChangeRecord<>(TraceEvents.SECTION_CHANGED, null, this));
		}
	}
TODO: This may cause a problem when modules span multiple spaces. Well, the whole "unique
path" thing may already be a problem in that case, since each module is allowed one
address range. Maybe unique names within spaces only, and somehow a module comprises all
its entries among the spaces.
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/module/DBTraceSection.java