public static final <T> Stream<T> breadthFirst(T root, Function<? super T, ? extends Stream<T>> edges)
    {
        return BreadthFirst.stream(root, edges);
    }
public static final < T > Stream < T > breadthFirst ( T root , Function < ? super T , ? extends Stream < T > > edges ) { return BreadthFirst . stream ( root , edges ) ; }
Returns stream for graph nodes starting with root. Function edges returns
stream for each node containing nodes edges. Traversal is in breadth first
order.
@param <T>
@param root
@param edges
@return