         case .Delete:
             self.pendingActions.append() {
                 [weak self] in
-                
                 self?.collectionView?.deleteSections(NSIndexSet(index: sectionIndex))
                 self?.collectionView?.collectionViewLayout.invalidateLayout()
             }

    weak var provider: CollectionViewDataProvider<EntityType>?
    var pendingActions: [() -> Void] = []
    var updatedIndexPaths: Set<NSIndexPath> = []
    var isFiltering = false
    
    var collectionView: UICollectionView? {

    }
    
    @objc func controller(controller: NSFetchedResultsController, didChangeSection sectionInfo: NSFetchedResultsSectionInfo, atIndex sectionIndex: Int, forChangeType type: NSFetchedResultsChangeType) {
        if self.isFiltering || self.shouldReloadData {
            return
        }

