code: @SafeVarargs
  	public static <G extends Gene<?, G>, C extends Comparable<? super C>>
  	ConcatEngine<G, C> of(final EvolutionStreamable<G, C>... engines) {
  		return new ConcatEngine<>(Arrays.asList(engines));
  	}
docs: Create a new concatenating evolution engine with the given array of
  engines.
  
  @param engines the engines which are concatenated to <em>one</em> engine
  @param <G> the gene type
  @param <C> the fitness type
  @return a new concatenating evolution engine
  @throws NullPointerException if the {@code engines} or one of it's
  elements is {@code null}