Map<String, dynamic> toJson() { return <String, dynamic>{'items': items?.map((e) => e.toJson()).toList()} ..removeWhere((key, value) => value == null); }