anchor.diff:              }
   
               record.addAll(slice(change["before"], change["data"].keys.toList()));
  -            clientData.sort(_sortBy(_sortParams));
  +            clientData.sort(_getComparator(_sortParams));
   
               if (!record.containsKey("_metadata")) {
                 record["_metadata"] = {};
  
positive.code: 
    void _insertIntoSorted(List<Map> data, Map record, Map sortParams) {
      data.add(record);
      data.sort(_sortBy(sortParams));
    }
  
    Future<List<Map>> _limitedDiffFromVersion(List<Map> diff) {
  
negative.code:     return _defaultCompare;
    }
  
    _getComparator(Map sortParams) {
      List<Map> fields = [];
  
      sortParams.forEach((field, order) {
        fields.add({"name" : field, "comparator" : _getCompareFunction(order == -1)});
      });
  
      return (Map item1, Map item2) {
        String name;
        num result = 0;
  
        for (Map field in fields) {
          name = field["name"];
  
          result = field["comparator"](item1[name], item2[name]);
  
          if (result != 0) {
            break;
  