code: @Override
    public final boolean isValid(final Object pvalue, final ConstraintValidatorContext pcontext) {
      if (pvalue == null) {
        return true;
      }
      try {
        String countryCode =
            BeanPropertyReaderUtil.getNullSaveStringProperty(pvalue, fieldCountryCode);
        final String postalCode =
            BeanPropertyReaderUtil.getNullSaveStringProperty(pvalue, fieldPostalCode);
        if (StringUtils.isEmpty(postalCode)) {
          return true;
        }
  
        if (allowLowerCaseCountryCode) {
          countryCode = StringUtils.upperCase(countryCode);
        }
  
        final String regExCheck = POSTAL_CODE_MAP.postalCodes().get(countryCode);
        if (regExCheck == null) {
          return true;
        }
        if (postalCode.matches(regExCheck)) {
          return true;
        }
        switchContext(pcontext);
        return false;
      } catch (final Exception ignore) {
        switchContext(pcontext);
        return false;
      }
    }
docs: {@inheritDoc} check if given object is valid.
  
  @see javax.validation.ConstraintValidator#isValid(java.lang.Object,
  javax.validation.ConstraintValidatorContext)