anchor.diff:      });
     }
   
  -  executeMessage(MongoMessage message, WriteConcern writeConcern, {_Connection connection}) {
  +  executeMessage(MongoMessage message, WriteConcern writeConcern,
  +      {_Connection connection}) {
       if (state != State.OPEN) {
         throw new MongoDartError('DB is not open. $state');
       }
  
positive.code:         if (indexInfos.any((info) => info['name'] == name)) {
            return new Future.value({'ok': 1.0, 'result': 'index preexists'});
          }
          return createIndex(collectionName,keys: keys, unique: unique, sparse: sparse, background: background, dropDups: dropDups, name: name);
        });
      });
    }
  
negative.code:     if (collectionName != null) {
        selector['ns'] = '$databaseName.$collectionName';
      }
      return new Cursor(
          this,
          new DbCollection(this, DbCommand.SYSTEM_INDEX_COLLECTION),
          selector).stream.toList();
    }
  
    String _createIndexName(Map keys) {
      var name = '';
      keys.forEach((key, value) {
        name = '${name}_${key}_$value';
      });
      return name;
    }
  
    Future createIndex(String collectionName,
        {String key,
        Map keys,
        bool unique,
        bool sparse,
        bool background,
        bool dropDups,
        String name}) {
      return new Future.sync(() {
        var selector = {};
        selector['ns'] = '$databaseName.$collectionName';
        keys = _setKeys(key, keys);
  