class ElasticSearchDataSetDefValidator extends AbstractDataSetDefValidator<ElasticSearchDataSetDef> {

    @Override
    public Iterable<ConstraintViolation<?>> validate( ElasticSearchDataSetDef dataSetDef,
                                                      boolean isCacheEnabled,
                                                      boolean isPushEnabled,
                                                      boolean isRefreshEnabled,
                                                      Object... params ) {
        Set<ConstraintViolation<ElasticSearchDataSetDef>> _violations = validator.validate( dataSetDef,
                                                                                            getValidationGroups(
                                                                                                    isCacheEnabled,
                                                                                                    isPushEnabled,
                                                                                                    isRefreshEnabled,
                                                                                                    ElasticSearchDataSetDefValidation.class ) );
        return toIterable( _violations );
    }

    @Inject public  ElasticSearchDataSetDefValidator( Validator validator );

}