             var groups: [String : DKAssetGroup] = [:]
             var groupIds: [String] = []
             
-            strongSelf.fetchGroups(assetGroupTypes: assetGroupTypes, block: { (collection) in
-                let assetGroup = strongSelf.makeDKAssetGroup(with: collection)
-                groups[assetGroup.groupId] = assetGroup
-                groupIds.append(assetGroup.groupId)
-                
-                // Filter the reloads to avoid frequetly reloadData() calling in collectionView
-                if !groupIds.isEmpty && collection.assetCollectionSubtype == .smartAlbumUserLibrary {
-                    strongSelf.updatePartial(groups: groups, groupIds: groupIds, completeBlock: completeBlock)
-                }
+            strongSelf.fetchGroups(assetGroupTypes: assetGroupTypes,
+                                   groupFetchPredicate: self?.configuration.groupFetchPredicate,
+                                   block: { (collection) in
+                                    let assetGroup = strongSelf.makeDKAssetGroup(with: collection)
+                                    groups[assetGroup.groupId] = assetGroup
+                                    groupIds.append(assetGroup.groupId)
+                                    
+                                    // Filter the reloads to avoid frequetly reloadData() calling in collectionView
+                                    if !groupIds.isEmpty && collection.assetCollectionSubtype == .smartAlbumUserLibrary {
+                                        strongSelf.updatePartial(groups: groups, groupIds: groupIds, completeBlock: completeBlock)
+                                    }
             })
             PHPhotoLibrary.shared().register(strongSelf)
             if !groupIds.isEmpty {

        .albumRegular
    ]
    
    /// Options that specify a filter predicate and sort order for the fetched assets, or nil to use default options.
    @objc public var assetFetchOptions: PHFetchOptions?
    

        copy.assetGroupTypes = self.assetGroupTypes
        copy.assetFetchOptions = self.assetFetchOptions
        copy.fetchLimit = self.fetchLimit
        copy.groupFetchPredicate = self.groupFetchPredicate
        
        return copy
    }
