void () { Project project = myRuntime.getVcs().getProject(); Ref<AcceptResult> answer = new Ref<>(); Runnable command = () -> { final ServerSSHDialog dialog = new ServerSSHDialog(project, true, unknownHost, fingerprintAlgorithm, hostFingerprint); dialog.show(); answer.set(dialog.getResult()); }; // Use ModalityState.any() as currently ssh credentials in terminal mode are requested in the thread that reads output and not in // the thread that started progress WaitForProgressToShow.runOrInvokeAndWaitAboveProgress(command, ModalityState.any()); unknownHost = null; fingerprintAlgorithm = null; hostFingerprint = null; sendData(answer.get() == AcceptResult.REJECTED ? "no" : "yes"); }