static <G extends Gene<?, G>, C extends Comparable<? super C>>
	Constraint<G, C> of(final Predicate<? super Phenotype<G, C>> validator) {
		return RetryConstraint.of(validator);
	}
Return a new constraint object with the given {@code validator}. The used
repairer just creates a new phenotype by using the phenotype to be
repaired as a template. The <em>repaired</em> phenotype might still be
invalid.

@see RetryConstraint#of(Predicate)

@param validator the phenotype validator used by the constraint
@param <G> the gene type
@param <C> the fitness value type
@return a new constraint strategy
@throws NullPointerException if one of the arguments is {@code null}
jenetics/src/main/java/io/jenetics/engine/Constraint.java