@Override
      public void run(@NotNull ProgressIndicator indicator) {
        final PythonSdkFlavor flavor = data.getFlavor();
        if (flavor != null) {
          ProcessOutput processOutput;
          try {
            try {
              String[] command = {data.getInterpreterPath(), flavor.getVersionOption()};
              processOutput = PyRemoteProcessStarterManagerUtil.getManager(data).executeRemoteProcess(myProject, command, null,
                                                                                                      data, new PyRemotePathMapper());
              if (processOutput.getExitCode() == 0) {
                final String version = flavor.getVersionStringFromOutput(processOutput);
                if (version != null || nullForUnparsableVersion) {
                  result.set(version);
                  return;
                }
              }
              exception.set(createException(processOutput, command));
            }
            catch (Exception e) {
              throw RemoteSdkException.cantObtainRemoteCredentials(e);
            }
          }
          catch (RemoteSdkException e) {
            exception.set(e);
          }
        }
      }
@Override
      public void run(@NotNull ProgressIndicator indicator)