     // It is not necessary (in fact, not desirable) to set this during row deletion or insertion
     //  (but definitely for row moves).
     private var _suspendAutomaticTrackingOfChangesInManagedObjectContext: Bool = false
-    var suspendAutomaticTrackingOfChangesInManagedObjectContext: Bool {
+    private var suspendAutomaticTrackingOfChangesInManagedObjectContext: Bool {
         get {
             return _suspendAutomaticTrackingOfChangesInManagedObjectContext
         }

    // It is not necessary (in fact, not desirable) to set this during row deletion or insertion
    //  (but definitely for cell moves).
    private var _suspendAutomaticTrackingOfChangesInManagedObjectContext: Bool = false
    var suspendAutomaticTrackingOfChangesInManagedObjectContext: Bool {
        get {
            return _suspendAutomaticTrackingOfChangesInManagedObjectContext
        }

    //  (so if the objects in the context change, you do not need to call performFetch
    //   since the NSFetchedResultsController will notice and update the table automatically).
    // This will also automatically be called if you change the fetchedResultsController @property.
    public func performFetch() {
        if let frc = fetchedResultsController {
            var error: NSError?
            if !frc.performFetch(&error) {
