public static <T> T waitForPass(Supplier<T> supplier, long timeoutMs, long retryDelayMs) {
		var locals = new Object() {
			T value;
		};
		waitForPass(() -> {
			locals.value = supplier.get();
		}, timeoutMs, retryDelayMs);
		return locals.value;
	}
We know at this point the process should be terminated. Depending on how cleanly that
happened, the socket may or may not be closed. Do not assert/wait for it to close. Just
clean up by closing our end
Ghidra/Test/DebuggerIntegrationTest/src/test.slow/java/agent/java/rmi/AbstractJavaTraceRmiTest.java