code: @Override
    public final boolean isValid(final Object pvalue, final ConstraintValidatorContext pcontext) {
      final String valueAsString = Objects.toString(pvalue, null);
      return StringUtils.isEmpty(valueAsString)
          || countCriteriaMatches(valueAsString) >= minRules && !isBlacklist(pcontext, valueAsString)
              && !startsWithDisalowedCharacter(pcontext, valueAsString)
              && !maxRepeatCharacterExceded(pcontext, valueAsString);
    }
docs: {@inheritDoc} check if given object is valid.
  
  @see javax.validation.ConstraintValidator#isValid(Object,
  javax.validation.ConstraintValidatorContext)