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

                case .move: fatalError("Moving currently not supported.")
                }
            })
        }, completion: nil)
    }

    func setTableView(toHideAddItemRow hideAddItemRow: Bool) {

        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()
            if fetchedResultsController.fetchedObjects?.count ?? 0 == 0 {
                toggle(emptyState: true, animated: true)
            } else {
                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)
