public void dispose(long timeoutSeconds) {
		queue.dispose();

		boolean finished = false;
		try {
			finished = queue.waitUntilDone(timeoutSeconds, TimeUnit.SECONDS);
		}
		catch (InterruptedException e) {
			// we tried!
		}

		if (!finished) {
			Msg.debug(this,
				"Unable to shutdown all tasks in " + timeoutSeconds + " " + TimeUnit.SECONDS);
		}
	}
Calls dispose on the queue being processed.  Further, the call will block for up to
{@code timeoutSeconds} while waiting for the queue to finish processing.

@param timeoutSeconds the number of seconds to wait for the disposed queue to finish
       processing
Ghidra/Features/Decompiler/src/main/java/ghidra/app/util/DecompilerConcurrentQ.java