anchor.diff:                });
               }
             });
  -
             return diff;
         });
     }
  
positive.code:     return mp;
    }
  
    Future<Map> data() {
      Map selector = _selectorList.isEmpty ? {} : {AND: _selectorList};
      return Future.wait
          ([_collection.find(selector).toList(), _maxVersion])
          .then((results) => {'data': results[0], 'version': results[1]});
    }
  
    Future add(num _id, Map data, String author) {
  
negative.code:           _collectionHistory.find(beforeSelector).toList(),
            _collectionHistory.find(afterSelector).toList()]);})
        .then((results) {
            before = new Set.from(results[0].map((d) => d['_id']));
            after = new Set.from(results[1].map((d) => d['_id']));
            diff = [];
  
            beforeOrAfter.forEach((record) {
  