@Override
	public L getDataForLocalState(TraceThread thread, int frame) {
		if (thread == null) {
			return null;
		}
		synchronized (dataForLocalStateByThreadAndFrame) {
			return dataForLocalStateByThreadAndFrame.computeIfAbsent(Pair.of(thread, frame), p -> {
				return newDataForLocalState(p.getLeft(), p.getRight());
			});
		}
	}
Factory method for a thread's local data-access shim

@param thread the associated trace thread
@param frame the frame, usually 0
@return the new data-access shim
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/pcode/exec/trace/data/AbstractPcodeTraceAccess.java