void (@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); } }); }