void (final String packageName, @Nullable final PackageManagementService.ErrorDescription errorDescription) { ApplicationManager.getApplication().invokeLater(() -> { myPackagesTable.clearSelection(); updatePackages(selPackageManagementService); myCurrentlyInstalling.remove(packageName); myPackagesTable.setPaintBusy(!myCurrentlyInstalling.isEmpty()); if (errorDescription == null) { myNotificationArea.showSuccess(IdeBundle.message("package.successfully.upgraded", packageName)); } else { myNotificationArea.showError(IdeBundle.message("upgrade.packages.failed"), IdeBundle.message("upgrade.packages.failed.dialog.title"), errorDescription); } if (myCurrentlyInstalling.isEmpty() && !myWaitingToUpgrade.isEmpty()) { upgradePostponedPackages(); } }, modalityState); }