code: public <V> boolean matches(
  		final Tree<V, ?> tree,
  		final BiPredicate<? super V, ? super String> equals
  	) {
  		return matches(tree, _pattern, new HashMap<>(), equals);
  	}
docs: Tests whether the given input tree matches {@code this} pattern, using
  the given {@code equals} predicate.
  
  @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 {@code true} if the {@code tree} matches {@code this} pattern,
  {@code false} otherwise
  @throws NullPointerException if one of the arguments is {@code null}