code: private void parseMVScalarValue(DBObject        dbObj,
                                      UNode           scalarNode,
                                      FieldDefinition fieldDef) {
          // Prerequisites:
          assert dbObj != null;
          assert scalarNode != null;
          assert fieldDef != null;
          assert fieldDef.isCollection();
          
          // Value should be an array.
          Utils.require(scalarNode.isCollection(),    // could be a map with no values
                        "Value of MV scalar field should be an array: " + scalarNode);
          
          // Extract values, which should be simple scalar values, and collect into a list.
          List<String> valueList = new ArrayList<String>();
          for (UNode childNode : scalarNode.getMemberList()) {
              Utils.require(childNode.isValue(),
                            "Element of an MV scalar should be a value: " + childNode);
              valueList.add(childNode.getValue());
          }
          
          // Add completed value list as a collection value.
          dbObj.addFieldValues(fieldDef.getName(), valueList);
      }
docs: field.