code: @Override
  	public boolean isValid(Object obj, ConstraintValidatorContext constraintContext) {
  		
  		// Si l'Objet est null
  		if(obj == null) return acceptNullObject;
  		
  		// Si l'Objet est un tableau
  		if(obj.getClass().isArray()) {
  			
  			// Taille
  			int size = Array.getLength(obj);
  			
  			// On retourne la comparaison
  			return (size >= min && size <= max);
  		}
  		
  		// Si l'objet est une collection
  		if(obj instanceof Collection<?>) {
  			
  			// Taille
  			int size = ((Collection<?>) obj).size();
  			
  			// On retourne la comparaison
  			return (size >= min && size <= max);
  		}
  
  		// Si l'objet est une map
  		if(obj instanceof Map<?, ?>) {
  			
  			// Taille
  			int size = ((Map<?, ?>) obj).size();
  			
  			// On retourne la comparaison
  			return (size >= min && size <= max);
  		}
  		
  		// Si l'Objet est une instance de Chaine
  		if(obj instanceof String) {
  			
  			// Chaine locale
  			String localString = ((String) obj);
  			
  			// Si on doit trimmer
  			if(trimString) localString = localString.trim();
  			
  			// Taille
  			int size = localString.length();
  			
  			// On retourne la comparaison
  			return (size >= min && size <= max);
  		}
  		
  		// Si c'est autre chose on retourne false
  		return false;
  	}
docs: /*
  (non-Javadoc)
  @see javax.validation.ConstraintValidator#isValid(java.lang.Object, javax.validation.ConstraintValidatorContext)