@Override
	public String name() {
		return _name;
	}
Create a new program with the given name and the given operation tree.
The arity of the program is calculated from the given operation tree and
set to the maximal arity of the operations of the tree.

@param name the program name
@param tree the operation tree
@throws NullPointerException if one of the given arguments is {@code null}
@throws IllegalArgumentException if the given operation tree is invalid,
        which means there is at least one node where the operation arity
        and the node child count differ.
jenetics.prog/src/main/java/io/jenetics/prog/op/Program.java