code: ValidationResult cleanMultiValuePropertyValue(String value) {
          ValidationResult vr = new ValidationResult();
  
          // trim whitespace and force lowercase
          value = value.trim().toLowerCase();
  
          // remove reserved characters
          for (String x : objectValueCharsNotAllowed) {
              value = value.replace(x, "");
          }
  
          try {
              if (value.length() > Constants.MAX_MULTI_VALUE_LENGTH) {
                  value = value.substring(0, Constants.MAX_MULTI_VALUE_LENGTH-1);
                  vr.setErrorDesc(value + "... exceeds the limit of " + Constants.MAX_MULTI_VALUE_LENGTH + " chars. Trimmed");
                  vr.setErrorCode(521);
              }
          } catch (Exception ignore) {
              // We really shouldn't get here
              // Ignore
          }
  
          vr.setObject(value);
  
          return vr;
  
      }
docs: Cleans a multi-value property value.
  <p/>
  trims whitespace, forces lowercase
  removes reserved characters
  trims byte len to currently 40 bytes
  
  @param value the property value
  @return The {@link ValidationResult} object containing the value,
  and the error code(if any)