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

		MR data = addTargetDataRegion(target1);
		addTargetAccessBreakpoint(target1, data);

		waitForPass(() -> {
			assertLogicalBreakpointForLoneAccessBreakpoint(trace);
		});
	}
Tracks the current set of logical breakpoints.

<p>
Its assertions require perfection in the sequence of events: 1) No double-adds. 2) No
double-removes. 3) No extraneous updates. At the end of each test, the current set of
breakpoints in this listener should be verified against those reported by the service.
Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/service/breakpoint/AbstractDebuggerLogicalBreakpointServiceTest.java