@NotNull
  private List<? extends ServiceViewItem> processGroups(@NotNull List<? extends ServiceViewItem> items, boolean visible) {
    if (visible) {
      items = ContainerUtil.filter(items, item -> item.getViewDescriptor().isVisible());
    }
    if (myShowGroups) {
      return filterEmptyGroups(items, visible);
    }
    return items.stream()
      .flatMap(item -> item instanceof ServiceGroupNode ? getChildren(item, visible).stream() : Stream.of(item))
      .collect(Collectors.toList());
  }
@NotNull
  private List<? extends ServiceViewItem> processGroups(@NotNull List<? extends ServiceViewItem> items, boolean visible)