protected final void enableRows(@NotNull Collection<? extends IdeaPluginDescriptor> descriptors,
                                  @NotNull PluginEnableDisableAction action) {
    Map<PluginId, PluginEnabledState> tempEnabled = new HashMap<>(myEnabled);

    setNewEnabled(descriptors,
                  tempEnabled,
                  action,
                  (descriptor, pair) -> {
                  });

    Map<PluginId, IdeaPluginDescriptorImpl> pluginIdMap = PluginManagerCore.INSTANCE.buildPluginIdMap();
    List<IdeaPluginDescriptorImpl> impls = descriptors.stream()
      .map(descriptor -> descriptor instanceof IdeaPluginDescriptorImpl ?
                         (IdeaPluginDescriptorImpl)descriptor :
                         findByPluginId(descriptor.getPluginId(), pluginIdMap))
      .collect(Collectors.toCollection(ArrayList::new));

    List<IdeaPluginDescriptorImpl> descriptorsToUpdate = action.isEnable() ?
                                                         getDependenciesToEnable(impls, tempEnabled, pluginIdMap) :
                                                         getDependentsToDisable(impls, tempEnabled, pluginIdMap);

    Set<String> pluginNamesToUpdate = descriptorsToUpdate.stream()
      .filter(descriptor -> !isHiddenImplementationDetail(descriptor))
      .map(IdeaPluginDescriptorImpl::getName)
      .collect(Collectors.toCollection(TreeSet::new));
    if (HIDE_IMPLEMENTATION_DETAILS &&
        !createUpdateDependenciesDialog(pluginNamesToUpdate, action)) {
      return;
    }

    impls.addAll(descriptorsToUpdate);
    setNewEnabled(impls,
                  myEnabled,
                  action,
                  this::handleBeforeChangeEnableState);
    updatePluginDependencies(pluginIdMap);
  }
protected final void enableRows(@NotNull Collection<? extends IdeaPluginDescriptor> descriptors,
                                  @NotNull PluginEnableDisableAction action)