code: @SuppressWarnings("unchecked")
      public Collection<V> getValues(Object src) {
          ArrayList<V> values = new ArrayList<V>();
          
          if( src instanceof String ) {
              String[] words = ((String)src).split(",");
              
              if( words.length < 1 ) {
                  values.add(getValue(src));
              }
              else {
                  for( String word : words ) {
                      values.add(getValue(word));
                  }
              }
              return values;
          }
          else if( src instanceof Collection ) {
              for( Object ob : (Collection<Object>)src ) {
                  values.add(getValue(ob));
              }
              return values;
          }
          throw new InvalidAttributeException("Invalid attribute: " + src);
      }
docs: When a data type is multi-valued, this method is called to convert raw data into a
  collection of values matching this data type. If the raw value is a string, this
  method assumes that the string represents a comma-delimited, multi-value
  attribute.
  @param src the raw source value
  @return the converted value