anchor.diff:    @JsonKey(ignore: true)
     bool uploaded;
   
  -
     Event();
   
     factory Event.fromJson(Map<String, dynamic> json) => _$EventFromJson(json);
   
     Map<String, dynamic> toJson() => _$EventToJson(this);
   
  +  static List<Map<String, dynamic>> _responsesToListOfMap(
  +          Map<String, dynamic> responses) =>
  +      responses.entries
  +          .map((entry) => {'name': entry.key, 'answer': entry.value})
  +          .toList();
  +
  +  static Map<String, dynamic> _responsesFromListOfMap(
  +          List<Map<String, dynamic>> listOfMap) =>
  +      Map.fromIterable(listOfMap,
  +          key: (item) => item['name'], value: (item) => item['answer']);
   }
  
positive.code: 
    String experimentName;
  
    @JsonKey(name: 'scheduledTime', fromJson: TimeUtil.dateTimeFromString, toJson: TimeUtil.dateTimeToString)
    DateTime scheduleTime;
  
    @JsonKey(fromJson: TimeUtil.dateTimeFromString, toJson: TimeUtil.dateTimeToString)
    DateTime responseTime;
  
    int experimentVersion;
  
negative.code:   // or
    // (2) the correct exported name was specified in @JsonKey annotation
  
    @JsonKey(fromJson: _responsesFromListOfMap, toJson: _responsesToListOfMap)
    Map<String, dynamic> responses = {};
  
    @JsonKey(name: 'experimentId')
  