code: public Set<ConstraintViolation> validate(DataSetInfo info) {
  		Set<ConstraintViolation> errors = new LinkedHashSet<ConstraintViolation>();
  		try {
  			if (info.isMandatory() && get(info.getDataSetNumber()) == null) {
  				errors.add(new ConstraintViolation(info, ConstraintViolation.MANDATORY_MISSING));
  			}
  			if (!info.isRepeatable() && getAll(info.getDataSetNumber()).size() > 1) {
  				errors.add(new ConstraintViolation(info, ConstraintViolation.REPEATABLE_REPEATED));
  			}
  		} catch (SerializationException e) {
  			errors.add(new ConstraintViolation(info, ConstraintViolation.INVALID_VALUE));
  		}
  		return errors;
  	}
docs: Checks if data set is mandatory but missing or non repeatable but having
  multiple values in this IIM instance.
  
  @param info
  IIM data set to check
  @return list of constraint violations, empty set if data set is valid