Map<String, dynamic> toJson() { return { 'type': type.toJson(), if (request != null) 'request': request!.toJson(), }; }