@Provides
  protected ValidatorFactory getValidationFactory(
      Provider<MessageInterpolator> interpolatorProvider) {
    HibernateValidatorConfiguration configure =
        Validation.byProvider(HibernateValidator.class).configure();

    configure.messageInterpolator(interpolatorProvider.get());
    return configure.buildValidatorFactory();
  }
 @Test
 public void withConfiguration() {
   HibernateValidatorConfiguration configuration =
       Validation.byProvider(HibernateValidator.class)
           .providerResolver(
               new ValidationProviderResolver() {
                 @Override
                 public List<ValidationProvider<?>> getValidationProviders() {
                   ValidationProvider<HibernateValidatorConfiguration> prov =
                       new HibernateValidator();
                   List<ValidationProvider<?>> provs = new ArrayList<>();
                   provs.add(prov);
                   return provs;
                 }
               })
           .configure();
   configuration.externalClassLoader(Thread.currentThread().getContextClassLoader());
   Validator validator = configuration.buildValidatorFactory().getValidator();
   Thread.currentThread().setContextClassLoader(null);
   Set<ConstraintViolation<ValidateMe>> violations = validator.validate(new ValidateMe(0));
   Assert.assertEquals(1, violations.size());
 }