@Override
  public void deleteElement(@NotNull DataContext dataContext) {
    Project project = dataContext.getData(CommonDataKeys.PROJECT);
    if (project == null) return;

    List<ServiceViewItem> selectedItems = ServiceViewActionProvider.getSelectedItems(dataContext);
    List<Pair<ServiceViewItem, Runnable>> items = ContainerUtil.mapNotNull(selectedItems, item -> {
      Runnable remover = item.getViewDescriptor().getRemover();
      return remover == null ? null : Pair.create(item, remover);
    });
    items = filterChildren(items);
    if (items.isEmpty()) return;

    if (Messages.showYesNoDialog(project,
                                 ExecutionBundle.message("service.view.delete.confirmation",
                                                         ExecutionBundle.message("service.view.items", items.size())),
                                 CommonBundle.message("button.delete"),
                                 Messages.getWarningIcon())
        != Messages.YES) {
      return;
    }
    for (Pair<ServiceViewItem, Runnable> item : items) {
      item.second.run();
    }
  }
@Override
  public void deleteElement(@NotNull DataContext dataContext)