         }
         
         if self.dataSource.hasIncrementalDataForRight() {
-            self.rightIncrementalIndicator = DKPhotoIncrementalIndicator.indicator(with: .right) {
-                self.dataSource.incrementalItemsForRight { [weak self] (count) in
+            self.rightIncrementalIndicator = DKPhotoIncrementalIndicator.indicator(with: .right) { [weak self] in
+                guard let strongSelf = self else { return }
+                
+                strongSelf.dataSource.incrementalItemsForRight { [weak self] (count) in
                     guard let strongSelf = self, let rightIncrementalIndicator = strongSelf.rightIncrementalIndicator else { return }
                     
                     let scrollView = strongSelf.mainView


////////////////////////////////////////////////////////////

internal protocol DKPhotoGalleryContentDataSource {
    
    func item(for index: Int) -> DKPhotoGalleryItem
    

        self.updateFooterView()
        
        if self.dataSource.hasIncrementalDataForLeft() {
            self.leftIncrementalIndicator = DKPhotoIncrementalIndicator.indicator(with: .left) { [weak self] in
                guard let strongSelf = self else { return }
                
                strongSelf.dataSource.incrementalItemsForLeft { [weak self] (count) in
                    guard let strongSelf = self, let leftIncrementalIndicator = strongSelf.leftIncrementalIndicator else { return }
                    
                    let scrollView = strongSelf.mainView
