@Override
	public void awaitTermination()
			throws StopWaitingException, StartedGhidraProcessExitedException {
		try {
			executor.awaitTermination(MAX_WAIT_FOR_LISTENER_MIN, TimeUnit.MINUTES);

			if (dialog.isAnsweredNo()) {
				throw new StopWaitingException();
			}

			if (this.stopWaitingException != null) {
				throw this.stopWaitingException;
			}
			if (this.startedGhidraProcessExitedException != null) {
				throw this.startedGhidraProcessExitedException;
			}
		}
		catch (InterruptedException e) {
			// this is okay
		}
	}
checks to see if Ghidra process exited early, In the event Ghidra exits early, 
a runtime exception is thrown
@param p Ghidra process
@throws StartedGhidraProcessExitedException if the Ghidra process has an exit value
Ghidra/Features/GhidraGo/src/main/java/ghidra/app/plugin/core/go/ipc/CheckForListenerRunnable.java