anchor.diff:  
     test('test random', () {
   
  +  var action = (){
  +    for (int i=0; i<5; i++) {
  +      Subscription toChangeSub = randomChoice([subSender, subReceiver]);
  +      makeRandomChange(toChangeSub.collection);
  +    }
  +  };
  +
   //  var action = (){
  -//    var res = false;
  -//    for (int i=0; i<5; i++) {
  -//      Subscription toChangeSub = randomChoice([subSender, subReceiver]);
  -//      res = res || makeRandomChange(toChangeSub.collection);
  -//    }
  -//    return res;
  +//    Subscription toChangeSub = randomChoice([subSender, subReceiver]);
  +//    logger.fine('$toChangeSub');
  +//    return makeRandomChange(toChangeSub.collection);
   //  };
  -
  -  var action = (){
  -    Subscription toChangeSub = randomChoice([subSender, subReceiver]);
  -    logger.fine('$toChangeSub');
  -    return makeRandomChange(toChangeSub.collection);
  -  };
   
     var makeExpects = () {
       expect(stripPrivateFieldsList(receiver),
  
positive.code: 
      Future.forEach(new List.filled(100000, null), (_) {
          print(i++);
          do{} while(!action());
  //        sender.where((d) => (d.containsKey('a') && d['a'] is Map && d['a']['a'] == 'hello'));
          print(receiver);
          bool end = false;
  
negative.code:   }
  
    makeRandomChange(DataSet coll) {
      var probAdd = (){
        if(coll.length<5) return 1;
        if(coll.length>15)return 0;
        return rng.nextDouble();
      };
  
      var probRemove = (){
        if(coll.length>15) return 1;
        if(coll.length<5)return 0;
        return rng.nextDouble();
      };
  
      if (prob(probAdd())) {
        // add
          logger.finer('before add \n $coll');
          coll.add(new DataMap.from({}), author: null);
          logger.finer('after add');
          return true;
      }
      else if (prob(probRemove())) {
        if (coll.length == 0) return false;
        // remove
          logger.finer('before remo \n $coll');
          coll.remove(randomChoice(coll));
          logger.finer('before remo');
          return true;
      } else {
        // change
        if (coll.length == 0) return false;
        var data = randomChoice(coll);
        if(data!=null){
          logger.finer('before change \n $coll');
          randomChangeMap(data);
          logger.finer('after change: $data');
          return true;
        } else {
          return false;
  