@Override
	public <T> TracePropertyMapSpace<T> getPropertyOps(String name, Class<T> type,
			boolean createIfAbsent) {
		if (createIfAbsent) {
			return platform.getTrace()
					.getAddressPropertyManager()
					.getOrCreatePropertyMap(name, type)
					.getPropertyMapRegisterSpace(thread, frame, createIfAbsent);
		}
		TracePropertyMap<T> map = platform.getTrace()
				.getAddressPropertyManager()
				.getPropertyMap(name, type);
		return map == null ? null : map.getPropertyMapRegisterSpace(thread, frame, createIfAbsent);
	}
Construct a shim

@param platform the associated platform
@param snap the associated snap
@param thread the associated thread whose registers to access
@param frame the associated frame, or 0 if not applicable
@param viewport the viewport, set to the same snapshot
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/pcode/exec/trace/data/DefaultPcodeTraceRegistersAccess.java