     }
     
     /**
+    Checks if the `ListMonitor` has at least one object in any section.
+    
+    - returns: `true` if at least one object in any section exists, `false` otherwise
+    */
+    public func hasObjects() -> Bool {
+        
+        return self.numberOfObjects() > 0
+    }
+    
+    /**
+    Checks if the `ListMonitor` has at least one object the specified section.
+    
+    - parameter section: the section index. Using an index outside the valid range will return `false`.
+    - returns: `true` if at least one object in the specified section exists, `false` otherwise
+    */
+    public func hasObjectsInSection(section: Int) -> Bool {
+        
+        return self.numberOfObjectsInSection(safeSectionIndex: section) > 0
+    }
+    
+    /**
     Returns all objects in all sections
     
     - returns: all objects in all sections

    // MARK: Public
    
    /**
    Accesses the object at the given index within the first section. This subscript indexer is typically used for `ListMonitor`s created with `monitorList(_:)`.
    
    - parameter index: the index of the object. Using an index above the valid range will throw an exception.
    - returns: the `NSManagedObject` at the specified index

    /**
    Returns the number of objects in the specified section
    
    - parameter section: the section index. Using an index outside the valid range will throw an exception.
    - returns: the number of objects in the specified section
    */
    public func numberOfObjectsInSection(section: Int) -> Int {
        
        return self.sectionInfoAtIndex(section).numberOfObjects
    }
    
    /**
    Returns the number of objects in the specified section, or `nil` if out of bounds.
    
    - parameter section: the section index. Using an index outside the valid range will return `nil`.
    - returns: the number of objects in the specified section
    */
    public func numberOfObjectsInSection(safeSectionIndex section: Int) -> Int? {
        
        return self.sectionInfoAtIndex(safeSectionIndex: section)?.numberOfObjects
    }
    
    /**
    Returns the `NSFetchedResultsSectionInfo` for the specified section
    
    - parameter section: the section index. Using an index outside the valid range will throw an exception.
    - returns: the `NSFetchedResultsSectionInfo` for the specified section
    */
    public func sectionInfoAtIndex(section: Int) -> NSFetchedResultsSectionInfo {
        
        return self.fetchedResultsController.sections![section]
    }
    
    /**
    Returns the `NSFetchedResultsSectionInfo` for the specified section, or `nil` if out of bounds.
    
    - parameter section: the section index. Using an index outside the valid range will return `nil`.
    - returns: the `NSFetchedResultsSectionInfo` for the specified section, or `nil` if the section index is out of bounds.
    */
    public func sectionInfoAtIndex(safeSectionIndex section: Int) -> NSFetchedResultsSectionInfo? {
        
        guard let sections = self.fetchedResultsController.sections
            where section < sections.count else {
                
                return nil
        }
        
        return sections[section]
    }
    
    /**
