@Test
	public void testRecordThenCloseTraceOnly() throws Throwable {
		createTarget1();
		Trace trace = getTrace(target1);
		traceManager.openTrace(trace);

		MR text = addTargetTextRegion(target1);

		addTargetSoftwareBreakpoint(target1, text);
		waitOn(breakpointService.changesSettled());

		assertLogicalBreakpointForLoneSoftwareBreakpoint(trace, 1);

		// NOTE: Still recording in the background
		traceManager.closeTraceNoConfirm(trace);
		waitForSwing();
		waitOn(breakpointService.changesSettled());

		assertEquals(0, breakpointService.getAllBreakpoints().size());
	}
NB. The target could still be mid transaction. If we open this transaction too soon, then
the breakpoint gets aborted as well.
Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/service/breakpoint/AbstractDebuggerLogicalBreakpointServiceTest.java