public Optional<Tree<T>> deepChild(Tree<T> node) {
    return breadthFirstTraversal()
        .filter(rx(is(node)))
        .map(Optional::of)
        .blockingFirst(Optional.empty());
  }
public Optional < Tree < T > > deepChild ( Tree < T > node ) { return breadthFirstTraversal ( ) . filter ( rx ( is ( node ) ) ) . map ( Optional :: of ) . blockingFirst ( Optional . empty ( ) ) ; }
Get the first matched child with the given value from all of the sub-tree

@param node
@return