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