@Override
	public G childAt(final int index) {
		checkTreeState();
		if (index < 0 || index >= childCount()) {
			throw new IndexOutOfBoundsException(format(
				"Child index out of bounds: %s", index
			));
		}

		assert _genes != null;
		return _genes.get(_childOffset + index);
	}
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