code: public <V> TreeMatcher<V> matcher(
  		final Tree<V, ?> tree,
  		final BiPredicate<? super V, ? super String> equals
  	) {
  		return TreeMatcher.of(this, tree, equals);
  	}
docs: Creates a matcher that will match the given input tree against
  {@code this} pattern.
  
  @param tree the tree to be matched
  @param equals the predicate which checks the equality between the tree
  node values and the string representation of the tree pattern
  @param <V> the tree value type
  @return a new matcher for {@code this} pattern
  @throws NullPointerException if one of the arguments is {@code null}