protected DBTraceSection doAddSection(DBTraceModule module, String sectionPath,
			String sectionName, AddressRange range) throws DuplicateNameException {
		checkSectionPathConflicts(null, sectionPath, module.getLifespan());
		DBTraceSection nameConflicts = doGetSectionByName(module.getKey(), sectionName);
		if (nameConflicts != null) {
			throw new DuplicateNameException(
				"Section with name '" + sectionName + "' already exists");
		}
		return delegateWrite(range.getAddressSpace(),
			m -> m.doAddSection(module, sectionPath, sectionName, range));
	}
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