Map<String, dynamic> toJson() { return { 'storageKey': storageKey.toJson(), 'pathComponents': [...pathComponents], if (bucketName != null) 'bucketName': bucketName, }; }