public void usePackageReleases(@NotNull String packageName, @NotNull CatchingConsumer<? super List<String>, ? super Exception> callback) {
    ApplicationManager.getApplication().executeOnPooledThread(() -> {
      try {
        final List<String> releasesFromSimpleIndex = getPackageVersionsFromAdditionalRepositories(packageName);
        if (releasesFromSimpleIndex.isEmpty()) {
          final List<String> releasesFromPyPI = getPackageVersionsFromPyPI(packageName, true);
          callback.consume(releasesFromPyPI);
        }
        else {
          callback.consume(releasesFromSimpleIndex);
        }
      }
      catch (Exception e) {
        callback.consume(e);
      }
    });
  }
public void usePackageReleases(@NotNull String packageName, @NotNull CatchingConsumer<? super List<String>, ? super Exception> callback)