     open override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         
-        if fetchedController != nil {
+        guard fetchedController == nil else {
             return
         }
         

    static let contentSizeChanged = #selector(FetchedCollectionViewController.contentSizeChanged)
}

class CollectionCoreDataChangeAction {
    var indexPath: IndexPath?
    var newIndexPath: IndexPath?
    var changeType = NSFetchedResultsChangeType.update
    
    static func action(_ atIndexPath: IndexPath?, changeType: NSFetchedResultsChangeType, newIndexPath: IndexPath?) -> CollectionCoreDataChangeAction {
        let result = CollectionCoreDataChangeAction()
        result.indexPath = atIndexPath
        result.changeType = changeType
        result.newIndexPath = newIndexPath
        return result
    }
}

let FetchedCollectionCellIdentifier = "FetchedCollectionCellIdentifier"

        fetchedController!.delegate = self
        
        collectionView.reloadData()
    }
    
    public func numberOfSections(in collectionView: UICollectionView) -> Int {
        return fetchedController?.sections?.count ?? 0
    }
    
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
