anchor.diff:                  });
                 }
               });
  -  
  +
               if (_limit > NOLIMIT || _skip > NOSKIP) {
                 return _limitedDiffFromVersion(diff);
               }
  
positive.code: 
      Set before, after;
      List beforeOrAfter, diff;
      
       return _maxVersion.then((maxVersion) {
          return _collectionHistory.find(beforeOrAfterSelector).toList()
          .then((result) {
  
negative.code:             before = new Set.from(results[0].map((d) => d['_id']));
              after = new Set.from(results[1].map((d) => d['_id']));
              diff = [];
  
              beforeOrAfter.forEach((record) {
                assert(record['version']>version);
  
                _stripCleanVersion(record['before']);
                _stripCleanVersion(record['after']);
  
                if(before.contains(record['_id']) && after.contains(record['_id']))
                {
                  // record was changed
  