 
 @objc
 protocol DKImageGroupDataManagerObserver {
-	
-	@objc optional func groupDidUpdate(groupId: String)
-	@objc optional func groupDidRemove(groupId: String)
-	@objc optional func group(groupId: String, didRemoveAssets assets: [DKAsset])
-	@objc optional func group(groupId: String, didInsertAssets assets: [DKAsset])
+
+    @objc optional func groupDidUpdate(groupId: String)
+    @objc optional func groupDidRemove(groupId: String)
+    @objc optional func group(groupId: String, didRemoveAssets assets: [DKAsset])
+    @objc optional func group(groupId: String, didInsertAssets assets: [DKAsset])
     @objc optional func groupDidUpdateComplete(groupId: String)
     @objc optional func groupsDidInsert(groupIds: [String])
 }

            completeBlock(nil, nil)
            return
        }
		if group.totalCount == 0 {
			completeBlock(nil, nil)
			return
		}
		
        guard let lastResult = group.fetchResult?.lastObject else {
            assertionFailure("Expect latestAsset")
            completeBlock(nil, nil)

        let asset = DKAsset(originalAsset: phAsset)
        assets[phAsset.localIdentifier] = asset
        return asset
    }
    
    open func fetchPHAsset(_ group: DKAssetGroup, index: Int) -> PHAsset? {
        guard let fetchResult = group.fetchResult else {
