         }
     }
     
+    /**
+     This method will delete all cells at the specified section. Then it will insert all the configFiles specified at the `configFiles` parameter.
+     The deletion and the insertion are going to happen at the same batch as you would expect.
+     - parameter at: The section for deleting all the cells.
+     - parameter andInsert: The array of configFiles to be inserted.
+     - parameter completion: Callback that will be called when the deletion has been applied.
+     */
     public func delete(at section: Int, andInsert configFiles: [SnazzyCollectionCellConfigurator], completion: (()->())? = nil) {
         let configFilesToDelete = self.configFiles.filter { $0.section == section && $0.typeCell == .cell }
         

        }
    }
    
    weak fileprivate var collectionView: UICollectionView!
}

extension SnazzyCollectionViewDataSource {
    public func reload() {
        collectionView.reloadData()
    }
    
    public func reloadAt(section: Int) {
        collectionView.reloadSections(IndexSet(integer: section))
    }
    
    public func reloadAtSections(indexSet: IndexSet) {
        collectionView.reloadSections(indexSet)
    }
    
    public func reloadAt(indexPaths: [IndexPath]) {
        collectionView.reloadItems(at: indexPaths)
    }
    
    public func reloadAt(indexPath: IndexPath) {
        self.collectionView.reloadItems(at: [indexPath])
    }
    
    public func deleteRow(by filter: @escaping (SnazzyCollectionCellConfigurator)->Bool, completion: (()->())? = nil) {
        self.collectionView.performBatchUpdates({ 
            guard let indexPath = self.getIndexPath(by: filter) else { return }
            

        }
    }
    
    /**
     This method will delete all cells at the specified section.
     - parameter section: The section for deleting all the cells.
     - parameter completion: Callback that will be called when the deletion has been applied.
     */
    public func deleteAllCellsAt(section: Int, completion: (()->())? = nil) {
        let configFilesToDelete = self.configFiles.filter { $0.section == section && $0.typeCell == .cell }
        
        if configFilesToDelete.count == 0 { return }
