@override Map<String, dynamic> serialize() { return fields.map((key, value) { return MapEntry(key, value?.serialize()); }); }