Map<String, dynamic> toJson() { final map = <String, dynamic>{'key': key.toString().split('.').last}; if (subItems != null && subItems!.isNotEmpty) { map['subItems'] = subItems; } return map; }