@Test
	public void testWriteTraceRegisterNoThreadErr() throws Throwable {
		// NB. Definitely no thread required
		createAndOpenTrace();
		controlService.setCurrentMode(tb.trace, ControlMode.RW_TRACE);
		activateTrace();
		waitForSwing();

		StateEditor editor = createStateEditor();
		assertFalse(editor.isRegisterEditable(r0));
		// NB. Editor creates its own transaction
		expecting(IllegalArgumentException.class, () -> {
			waitOn(editor.setRegister(rv1234));
		});
	}
TODO: It'd be nice if this worked, since memory edits don't really require a thread
context. That would require some changes in the TraceSchedule and its execution. IINM,
each step currently requires a thread. We'd have to relax that for patch steps, and it'd
only work if they don't refer to any register.
Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/service/control/DebuggerControlServiceTest.java