@Override
	public <T> AbstractDBTracePropertyMap<T, ?> getOrCreatePropertyMap(String name,
			Class<T> valueClass) {
		try (LockHold hold = LockHold.lock(lock.writeLock())) {
			AbstractDBTracePropertyMap<T, ?> map = getPropertyMap(name, valueClass);
			if (map != null) {
				return map;
			}
			try {
				return createPropertyMap(name, valueClass);
			}
			catch (DuplicateNameException e) {
				throw new AssertionError(); // It cannot exist here
			}
		}
	}
TODO: Document me

TODO: This is public for user properties, i.e., {@link ProgramUserData}, but encapsulated for
trace properties
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/property/DBTraceAddressPropertyManager.java