@Override
	public boolean equals(final Object obj) {
		return obj == this ||
			obj instanceof AbstractTreeGene<?, ?> other &&
			Objects.equals(other._allele, _allele) &&
			other._childOffset == _childOffset &&
			other._childCount == _childCount;
	}
Return the child gene with the given index.

@param index the child index
@return the child node with the given index
@throws IndexOutOfBoundsException  if the {@code index} is out of
        bounds ({@code [0, childCount())})
@throws IllegalStateException if this gene is not part of a chromosome
jenetics.ext/src/main/java/io/jenetics/ext/AbstractTreeGene.java