code: public static <A> ProgramChromosome<A> of(
  		final int depth,
  		final ISeq<? extends Op<A>> operations,
  		final ISeq<? extends Op<A>> terminals
  	) {
  		return of(
  			depth,
  			(Predicate<? super ProgramChromosome<A>> & Serializable)ProgramChromosome::isSuperValid,
  			operations,
  			terminals
  		);
  	}
docs: Create a new program chromosome with the defined depth. This method will
  create a <em>full</em> program tree.
  
  @param depth the depth of the created (full) program tree
  @param operations the allowed non-terminal operations
  @param terminals the allowed terminal operations
  @param <A> the operation type
  @return a new program chromosome from the given (flattened) program tree
  @throws NullPointerException if one of the parameters is {@code null}
  @throws IllegalArgumentException if the {@code depth} is smaller than zero