@Override
    protected @NotNull List<ExecutionException> runTask(@NotNull ProgressIndicator indicator) {
      final List<ExecutionException> exceptions = new ArrayList<>();
      final PyPackageManager manager = PyPackageManagers.getInstance().forSdk(mySdk);
      if (myRequirements == null) {
        indicator.setText(PyBundle.message("python.packaging.installing.packages"));
        indicator.setIndeterminate(true);
        try {
          manager.install(null, myExtraArgs);
        }
        catch (ExecutionException e) {
          exceptions.add(e);
        }
      }
      else {
        final int size = myRequirements.size();
        for (int i = 0; i < size; i++) {
          final PyRequirement requirement = myRequirements.get(i);
          indicator.setText(PyBundle.message("python.packaging.progress.text.installing.specific.package",
                                             requirement.getPresentableText()));
          if (i == 0) {
            indicator.setIndeterminate(true);
          }
          else {
            indicator.setIndeterminate(false);
            indicator.setFraction((double)i / size);
          }
          try {
            manager.install(Collections.singletonList(requirement), myExtraArgs);
          }
          catch (RunCanceledByUserException e) {
            exceptions.add(e);
            break;
          }
          catch (ExecutionException e) {
            exceptions.add(e);
          }
        }
      }
      manager.refresh();
      return exceptions;
    }
@Override
    protected @NotNull List<ExecutionException> runTask(@NotNull ProgressIndicator indicator)