private boolean prepareToInstall(@NotNull List<PluginNode> pluginsToInstall) {
    List<PluginId> pluginIds = new SmartList<>();
    for (PluginNode pluginNode : pluginsToInstall) {
      pluginIds.add(pluginNode.getPluginId());
    }

    boolean result = false;
    for (PluginNode pluginNode : pluginsToInstall) {
      myIndicator.setText(pluginNode.getName());
      try {
        result |= prepareToInstallWithCallback(pluginNode, pluginIds);
      }
      catch (IOException e) {
        String title = IdeBundle.message("title.plugin.error");
        LOG.warn(e);
        NotificationGroup group = NotificationGroupManager.getInstance().getNotificationGroup("Plugin Error");
        Notifications.Bus.notify(group.createNotification(title, pluginNode.getName() + ": " + e.getMessage(), NotificationType.ERROR));
        return false;
      }
    }

    return result;
  }
private boolean prepareToInstall(@NotNull List<PluginNode> pluginsToInstall)