public ValidationResult validate(Object value) {
        ValidationResult result = wrapped.validate(value);
        if (result.ok && normalMessage != null) {
            result = ValidationResult.ok(normalMessage);
        }
        if (!result.ok && warningMessage != null) {
            result = ValidationResult.error(warningMessage);
        }
        return result;
    }