anchor.diff:      } else if(change['version'] <= version) {
         return;
       }
  -      if (change["action"] == "add") {
  +      if (action == "add") {
           if (collectRes) res = max(res, change['version']);
  -        if (collection.findBy('_id', change['_id']).isEmpty){
  +        if (record == null) {
             logger.finer('aplying changes (add)');
             collection.add(change["data"]);
           } else {
  
positive.code:           assert(author == change['author']);
          }
      }
        else if (change["action"] == "change" ) {
        DataMap record = collection.firstWhere((d) => d["_id"] == change["_id"], orElse : () => null);
        // 1. the change may be for item that is currently not present in the collection;
        // 2. the field may be 'locked', because it was changed on user's machine, and
        // this change was not yet confirmed from server
  
negative.code:         applyChange(change["data"], record);
        }
      }
        else if (action == "remove" ) {
        logger.finer('aplying changes (remove');
        if (collectRes) res = max(res, change['version']);
        collection.remove(record);
      }
      logger.finest('applying finished: $subscription ${subscription.collection} ${subscription._version}');
    });
  