@Override
  public void run(@NotNull ProgressIndicator indicator) {
    try {
      List<PluginNode> marketplacePlugins = MarketplaceRequests.loadLastCompatiblePluginDescriptors(myPluginIds);
      myCustomPlugins = RepositoryHelper.loadPluginsFromCustomRepositories(indicator);

      List<IdeaPluginDescriptor> descriptors =
        new ArrayList<>(RepositoryHelper.mergePluginsFromRepositories(marketplacePlugins, myCustomPlugins, true));

      if (myShowDialog) {
        MarketplaceRequests marketplace = MarketplaceRequests.getInstance();
        Set<PluginId> pluginIds = ContainerUtil.map2Set(descriptors, descriptor -> descriptor.getPluginId());
        for (IdeCompatibleUpdate update : MarketplaceRequests.getLastCompatiblePluginUpdate(pluginIds)) {
          int index = ContainerUtil.indexOf(descriptors, d -> d.getPluginId().getIdString().equals(update.getPluginId()));
          if (index != -1) {
            IdeaPluginDescriptor descriptor = descriptors.get(index);
            if (descriptor instanceof PluginNode node) {
              node.setExternalPluginId(update.getExternalPluginId());
              node.setExternalUpdateId(update.getExternalUpdateId());
              node.setDescription(null);

              PluginNode pluginNode = marketplace.loadPluginDetails(node);
              if (pluginNode != null) {
                PluginDetailsPageComponent.loadAllPluginDetails(marketplace, node, pluginNode);
                descriptors.set(index, pluginNode);
              }
            }
          }
        }
      }

      for (IdeaPluginDescriptor descriptor : PluginManagerCore.getPlugins()) {
        if (!descriptor.isEnabled() &&
            PluginManagerCore.isCompatible(descriptor) &&
            PluginManagementPolicy.getInstance().canInstallPlugin(descriptor)) {
          descriptors.add(descriptor);
        }
      }

      for (IdeaPluginDescriptor descriptor : descriptors) {
        if (myPluginIds.contains(descriptor.getPluginId())) {
          myPlugins.add(PluginDownloader.createDownloader(descriptor));
        }
      }
    }
    catch (Exception e) {
      PluginsAdvertiser.getLog().info(e);
    }
  }
@Override
  public void run(@NotNull ProgressIndicator indicator)