@Override
		public void close() {
			// this will wake up a blocked read-thread waiting on a read() operation
			// and cause it to return a EOF result.
			// All reads() after this close will return EOF value
			isClosed.set(true);
			queuedBytes.clear();
			queuedBytes.offer(EMPTY_BYTES);
		}
An {@link InputStream} that has as its source text strings being pushed into
it by a thread, and being read by another thread.
<p>
Not thread-safe for multiple readers, but is thread-safe for writers.
<p>
{@link #close() Closing} this stream (from any thread) will awaken the
blocked reader thread and give an EOF result to the read operation it was blocking on.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/interpreter/InterpreterPanel.java