/** Build the Map record from the Mongo DBObject. */
 public MongoRecord buildRecordFromDBObject(DBObject object) {
   MongoRecord record = new MongoRecord();
   for (Iterator iterator = object.toMap().entrySet().iterator(); iterator.hasNext(); ) {
     Map.Entry entry = (Map.Entry) iterator.next();
     if (entry.getValue() instanceof BasicDBList) {
       List values = new ArrayList();
       for (Iterator valuesIterator = ((BasicDBList) entry.getValue()).iterator();
           valuesIterator.hasNext(); ) {
         Object value = valuesIterator.next();
         if (value instanceof DBObject) {
           values.add(buildRecordFromDBObject((DBObject) value));
         } else {
           values.add(value);
         }
       }
       record.put((String) entry.getKey(), values);
     } else if (entry.getValue() instanceof DBObject) {
       MongoRecord nestedRecord = buildRecordFromDBObject((DBObject) entry.getValue());
       record.put((String) entry.getKey(), nestedRecord);
     } else {
       record.put((String) entry.getKey(), entry.getValue());
     }
   }
   return record;
 }