@override Map<String, dynamic> toJson() { Map<String, dynamic> result = super.toJson(); if (tags != null && tags!.toJson().isNotEmpty) { result['tags'] = tags; } return result; }