@RequiresBackgroundThread
      @Override
      public void run(@NotNull ProgressIndicator indicator) {
        try {
          PluginNode descriptor = MarketplaceRequests.getInstance().getLastCompatiblePluginUpdate(vcs.pluginId, null, indicator);
          if (descriptor != null) {
            PluginDownloader downloader = PluginDownloader.createDownloader(descriptor);
            if (downloader.prepareToInstall(indicator)) {
              downloader.install();
              PluginEnabler.HEADLESS.enable(List.of(descriptor));
              PluginManagerMain.notifyPluginsUpdated(myProject);
            }
          }
          else {
            showErrorNotification(vcs, VcsBundle.message("impl.notification.content.could.not.find.plugin", vcs.pluginId));
          }
        }
        catch (IOException e) {
          LOG.warn(e);
          showErrorNotification(vcs, e.getMessage());
        }
      }
@RequiresBackgroundThread
      @Override
      public void run(@NotNull ProgressIndicator indicator)