code: @Override
      public boolean isValid(String value, ConstraintValidatorContext context) {
          //may contain multiple values, semicolon separated.
          if (!StringUtils.isBlank(value)) {
              String[] values = value.split(";");
              for (String val : values) {
                  try {
                      new IpAddressMatcher(val);
                  } catch (IllegalArgumentException ex) {
                      return false;
                  }
              }
              return true;
          } else {
              return true;
          }
      }
docs: /*
  (non-Javadoc)
  
  @see javax.validation.ConstraintValidator#isValid(java.lang.Object,
  javax.validation.ConstraintValidatorContext)