@override Map<String, dynamic> toJson() { final json = <String, dynamic>{}; json['type'] = type; json.addAll({ 'root': root?.toJson(), }); return json; }