Map<String, dynamic> toMap() { return { 'code': code, 'details': details, 'source': source?.toMap(), }; }