public void runTestAutoReadMemoryReadsWithForceFullView(AutoReadMemorySpec spec)
			throws Throwable {
		runSwing(() -> listingProvider.setAutoReadMemorySpec(readNone));

		createRmiConnection();
		addMemoryMethods();
		createTrace();
		try (Transaction tx = tb.startTransaction()) {
			tb.trace.getObjectManager().createRootObject(SCHEMA_SESSION);
			tb.createObjectsProcessAndThreads();
			// NOTE: Do not add a region. Depend on Force full view!
		}
		waitForDomainObject(tb.trace);
		TraceObject process = tb.obj("Processes[1]");
		rmiCx.publishTarget(tool, tb.trace);

		traceManager.openTrace(tb.trace);
		traceManager.activateTrace(tb.trace);
		waitForSwing();

		runSwing(() -> tb.trace.getProgramView().getMemory().setForceFullView(true));

		goToDyn(tb.addr(0x55550800));
		runSwing(() -> listingProvider.setAutoReadMemorySpec(spec));

		handleReadMemInvocation(process, tb.range(0x55550000, 0x55550fff));

		runSwing(() -> listingProvider.setAutoReadMemorySpec(readNone));
		flushMemoryReadInvocations(listingProvider::getLastAutoRead, process,
			tb.range(0x55550000, 0x55550fff));
	}
Because goToDyn has to retry, it can generate many read requests. Turn off auto-read and
then flush out any pending reads, so that all the tasks can complete.
Ghidra/Test/DebuggerIntegrationTest/src/test/java/ghidra/app/plugin/core/debug/gui/listing/DebuggerListingProviderTest.java