@Test
	public void testActionToggleBreakpointProgram() throws Throwable {
		addMappedBreakpointOpenAndWait();
		LogicalBreakpoint lb = Unique.assertOne(breakpointService.getAllBreakpoints());

		ProgramLocationActionContext ctx = staticCtx(addr(program, 0x00400123));
		assertTrue(breakpointMarkerPlugin.actionToggleBreakpoint.isAddToPopup(ctx));
		performAction(breakpointMarkerPlugin.actionToggleBreakpoint, ctx, false);
		handleToggleBreakpointInvocation(Unique.assertOne(lb.getTraceBreakpoints(tb.trace)), false);

		waitForPass(() -> assertEquals(State.DISABLED, lb.computeState()));

		assertTrue(breakpointMarkerPlugin.actionToggleBreakpoint.isAddToPopup(ctx));
		performAction(breakpointMarkerPlugin.actionToggleBreakpoint, ctx, false);
		handleToggleBreakpointInvocation(Unique.assertOne(lb.getTraceBreakpoints(tb.trace)), true);

		waitForPass(() -> assertEquals(State.ENABLED, lb.computeState()));
	}
HACK: since service doesn't let me get markers for an address, change each that I care about
to have a distinct background color
Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/breakpoint/AbstractDebuggerBreakpointMarkerPluginTest.java