@Override
	public DBTraceProgramViewRegisters getViewRegisters(TraceThread thread,
			boolean createIfAbsent) {
		synchronized (regViewsByThread) {
			DBTraceProgramViewRegisters regView = regViewsByThread.get(thread);
			if (regView != null) {
				return regView;
			}
			assert trace.getThreadManager().getAllThreads().contains(thread);
			DBTraceCodeSpace codeSpace =
				trace.getCodeManager().getCodeRegisterSpace(thread, createIfAbsent);
			if (codeSpace == null) {
				return null;
			}
			DBTraceMemorySpace memorySpace =
				trace.getMemoryManager().getMemoryRegisterSpace(thread, createIfAbsent);
			if (memorySpace == null) {
				return null;
			}
			regView = new DBTraceProgramViewRegisters(this, codeSpace, memorySpace);
			regViewsByThread.put(thread, regView);
			return regView;
		}
	}
Fires object-restored event on this view and all associated register views.
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/program/DBTraceProgramView.java