public void addFieldValues(String fieldName, Collection<String> values) {
        Utils.require(!Utils.isEmpty(fieldName), "fieldName");
        
        if (values != null && values.size() > 0) {
            if (fieldName.charAt(0) == '_') {
                Utils.require(values.size() == 1, "System fields can have only 1 value: " + fieldName);
                setSystemField(fieldName, values.iterator().next());
            } else {
                List<String> currValues = m_valueMap.get(fieldName);
                if (currValues == null) {
                    currValues = new ArrayList<>();
                    m_valueMap.put(fieldName, currValues);
                }
                currValues.addAll(values);
            }
        }
    }
public void addFieldValues ( String fieldName , Collection < String > values ) { Utils . require ( ! Utils . isEmpty ( fieldName ) , "fieldName" ) ; if ( values != null && values . size ( ) > 0 ) { if ( fieldName . charAt ( 0 ) == '_' ) { Utils . require ( values . size ( ) == 1 , "System fields can have only 1 value: " + fieldName ) ; setSystemField ( fieldName , values . iterator ( ) . next ( ) ) ; } else { List < String > currValues = m_valueMap . get ( fieldName ) ; if ( currValues == null ) { currValues = new ArrayList < > ( ) ; m_valueMap . put ( fieldName , currValues ) ; } currValues . addAll ( values ) ; } } }
Add the value(s) in the given collection to the field with the given name. If the
given collection is null or empty, this method is a no-op.

@param fieldName Name of field.
@param values    Collection of values. Ignored if null or empty.