code: 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);
              }
          }
      }
docs: 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.