code: private DBObject createObject(TableDefinition tableDef, String objID, Iterator<DColumn> colIter) {
          DBObject dbObj = new DBObject();
          dbObj.setObjectID(objID);
          dbObj.setTableName(tableDef.getTableName());
          while (colIter.hasNext()) {
              DColumn col = colIter.next();
              Pair<String, String> linkCol = extractLinkValue(tableDef, col.getName());
              if (linkCol == null) {
                  String fieldName = col.getName();
                  String fieldValue = scalarValueToString(tableDef, col.getName(), col.getRawValue());
                  FieldDefinition fieldDef = tableDef.getFieldDef(fieldName);
                  if (fieldDef != null && fieldDef.isCollection()) {
                      // MV scalar field
                      Set<String> values = Utils.split(fieldValue, CommonDefs.MV_SCALAR_SEP_CHAR);
                      dbObj.addFieldValues(fieldName, values);
                  } else {
                      dbObj.addFieldValue(col.getName(), fieldValue);
                  }
              // Skip links no longer present in schema
              } else if (tableDef.isLinkField(linkCol.firstItemInPair)) {
                  dbObj.addFieldValue(linkCol.firstItemInPair, linkCol.secondItemInPair);
              }
          }
          return dbObj;
      }
docs: Create a DBObject from the given scalar/link column values.