@Override
	public boolean equals(final Object obj) {
		return obj == this ||
			obj instanceof TreePattern<?> other &&
			_pattern.equals(other._pattern);
	}
Expands {@code this} pattern with the given variable mapping.

@param vars the variables to use for expanding {@code this} pattern
@return the expanded tree pattern
@throws NullPointerException if one of the arguments is {@code null}
@throws IllegalArgumentException if not all needed variables are part
        of the {@code variables} map
jenetics.ext/src/main/java/io/jenetics/ext/rewriting/TreePattern.java