@override Map<String, dynamic> toJson() { return { ...super.toJson(), 'source': source, if (poster != null) 'poster': poster, if (viewSettings != null) 'viewSettings': viewSettings, }; }