code: @Override
    public final boolean isValid(final Object pvalue, final ConstraintValidatorContext pcontext) {
      if (pvalue == null) {
        return true;
      }
      final Date value;
      if (pvalue instanceof Date) {
        value = (Date) pvalue;
      } else if (pvalue instanceof Calendar) {
        value = ((Calendar) pvalue).getTime();
      } else if (pvalue instanceof HasGetTime) {
        value = ((HasGetTime) pvalue).getTime();
      } else {
        throw new IllegalArgumentException(
            "Object for validation with AgeLimitCheckValidator must be of type "
                + "Date, Calendar or HasGetTime.");
      }
      final Date dateLimit =
          DateUtils.truncate(DateUtils.addYears(new Date(), 0 - minYears), Calendar.DAY_OF_MONTH);
      final Date birthday = DateUtils.truncate(value, Calendar.DAY_OF_MONTH);
      return !dateLimit.before(birthday);
    }
docs: {@inheritDoc} check if given object is valid.
  
  @see javax.validation.ConstraintValidator#isValid(Object,
  javax.validation.ConstraintValidatorContext)