@Override
	public Optional<G> parent() {
		checkTreeState();

		return _genes.stream()
			.filter(g -> g.childStream().anyMatch(this::identical))
			.findFirst();
	}
Return the <em>parent</em> node of this tree node.

@return the parent node, or {@code Optional.empty()} if this node is the
        root of the tree
@throws IllegalStateException if this gene is not part of a chromosome
jenetics.ext/src/main/java/io/jenetics/ext/AbstractTreeGene.java