Map<String, dynamic> toJson() { return { 'value': value.toJson(), if (key != null) 'key': key!.toJson(), }; }