private Thread doBackgroundReadLine(AtomicReference<String> result)
			throws InterruptedException {

		CountDownLatch startLatch = new CountDownLatch(1);
		Thread t = new Thread(() -> {
			try {
				startLatch.countDown();
				result.set(reader.readLine());
			}
			catch (IOException e) {
				// test will fail
			}
		});
		t.start();

		startLatch.await(2, TimeUnit.SECONDS); // the background thread is now spun-up and ready to read

		// the smallest of sleeps to give the thread a chance to read after the latch was reached
		sleep(10);

		return t;
	}
Test the InterpreterPanel/InterpreterConsole's stdIn InputStream handling by 
manually creating a JFrame (while a regular Ghidra tool is running)
to host the panel in.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/interpreter/InterpreterPanelTest.java