@Override
      public void run(@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);
        }
      }
@Override
      public void run(@NotNull ProgressIndicator indicator)