 
         let latestAsset = DKAsset(originalAsset: lastResult)
         latestAsset.fetchImage(with: size, options: options, completeBlock: completeBlock)
-	}
-	
-	open func fetchAsset(_ group: DKAssetGroup, index: Int) -> DKAsset? {
+    }
+
+    open func fetchAsset(_ group: DKAssetGroup, index: Int) -> DKAsset? {
         guard let phAsset = fetchPHAsset(group, index: index) else {
             assertionFailure("Expect phAsset")
             return nil

        super.init()
    }
    
	deinit {
		PHPhotoLibrary.shared().unregisterChangeObserver(self)
	}
	
	open func invalidate() {
		self.groupIds?.removeAll()
        self.groups?.removeAll()
        self.assets.removeAll()
		
		PHPhotoLibrary.shared().unregisterChangeObserver(self)
	}

    open func fetchGroups(_ completeBlock: @escaping (_ groups: [String]?, _ error: NSError?) -> Void) {
        let assetGroupTypes = self.configuration.assetGroupTypes

            }
        }
    }

    open func fetchGroup(with groupId: String) -> DKAssetGroup? {
        return self.groups?[groupId]
    }

    open func fetchGroupThumbnail(with groupId: String,
                                  size: CGSize,
                                  options: PHImageRequestOptions,
                                  completeBlock: @escaping (_ image: UIImage?, _ info: [AnyHashable: Any]?) -> Void)
