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