{
        int length =
          value instanceof String ?
            ((String)value).length() :
             value instanceof Collection ?
               ((Collection<?>)value).size() :
               Array.getLength(value);
        if (length < effectiveMinLength)
        {
          if (diagnostics != null) reportMinLengthViolation(eDataType, value, length, effectiveMinLength, diagnostics, context);
          result = false;
        }
      }