public static @NotNull Collection<DataNode<?>> findAllRecursively(@Nullable DataNode<?> node,
                                                                    @Nullable Predicate<? super DataNode<?>> predicate) {
    if (node == null) return Collections.emptyList();
    return findAllRecursively(node.getChildren(), predicate);
  }
public static @NotNull Collection<DataNode<?>> findAllRecursively(@Nullable DataNode<?> node,
                                                                    @Nullable Predicate<? super DataNode<?>> predicate)