void (@NotNull ProgressIndicator indicator) { try { localFiles.set(download(targetDir)); } catch (IOException exception) { final boolean tryAgain = IdeUiService.getInstance().showErrorDialog(myDialogTitle, exception.getMessage()); if (tryAgain) { downloadWithBackgroundProcess(targetDir, project).thenAccept(pairs -> result.complete(pairs)); } result.complete(null); } }