class CombiningValidator implements Validator<T> {

	@Override
	public ValidationResult validate(T t) {
		for (Validator<T> validator : validators) {
			ValidationResult result = validator.validate(t);
			if (result.isErroneous()) {
				debugLog(t, validator);
				validationListeners.forEach(listener -> listener.onValidationError(result));
				return result;
			}
		}
		return createValidationResult();
	}

	public  CombiningValidator(List<Validator<T>> validators);
	public  CombiningValidator(Validator<T>... validators);

}