     private var crudName: String!
     private var originalFetchRequestPredicate: NSPredicate?
     fileprivate var logger: Logger?
-
+    private var emptyView: UIView?
     typealias UpdateTable = [NSFetchedResultsChangeType: [IndexPath]]
     private var tableUpdates: UpdateTable?
 

        logger?.logDebug(message: String(format: "[%@(%@)] Reloading data using performFetch on NSFetchedResultsController: %@ and rows using reloadData on UITableView: %@.", instanceType(self), crudName, fetchedResultsController, tableView))
        do {
            try fetchedResultsController.performFetch()
            tableView.reloadData()
        } catch {
            let message = String(format: "[%@(%@)] Could not perform a new fetch on NSFetchedResultsController: %@.", instanceType(self), crudName, fetchedResultsController)
            logger?.logError(message: message, error: error)

            tableView.fillSuperview()
        }

        if let emptyView = themeDelegate?.crudViewControllerEmptyStateView?(crudViewController: self) {
            self.emptyView = emptyView
            view.addSubview(emptyView)
            emptyView.edgeAnchors == view.edgeAnchors
            self.toggle(emptyState: self.numberOfEntities() == 0, animated: false)
        }
    }

    func addItemRowIndexPath() -> IndexPath {
