public final @NotNull JBIterable<T> traverse(@NotNull TreeTraversal traversal) {
    Function<T, Iterable<? extends T>> adjusted = this::children;
    return myMeta.interceptor.fun(traversal).traversal(getRoots(), adjusted).filter(myMeta.filter.and());
  }
public final @NotNull JBIterable<T> traverse(@NotNull TreeTraversal traversal)