@NotNull
  private List<? extends ServiceViewItem> filterEmptyGroups(@NotNull List<? extends ServiceViewItem> items, boolean visible) {
    return ContainerUtil.filter(items, item -> !(item instanceof ServiceGroupNode) ||
                                               !filterEmptyGroups(getChildren(item, visible), visible).isEmpty());
  }
@NotNull
  private List<? extends ServiceViewItem> filterEmptyGroups(@NotNull List<? extends ServiceViewItem> items, boolean visible)