public void fillPackageDetails(@NotNull String packageName, @NotNull CatchingConsumer<PackageDetails.Info, Exception> callback) {
    ApplicationManager.getApplication().executeOnPooledThread(() -> {
      try {
        final PackageDetails packageDetails = refreshAndGetPackageDetailsFromPyPI(packageName, false);
        callback.consume(packageDetails.getInfo());
      }
      catch (IOException e) {
        callback.consume(e);
      }
    });
  }
public void fillPackageDetails(@NotNull String packageName, @NotNull CatchingConsumer<PackageDetails.Info, Exception> callback)