     // MARK: - Configuration
     
     /// The object that is notified when the fetched records changed.
-    ///
-    /// This property must be used from the main thread unless the controller
-    /// has been initialized with a custom dispatch queue.
     public weak var delegate: FetchedRecordsControllerDelegate? {
         didSet {
             // Setting the delegate to nil *will* stop database changes

    ///
    /// After executing this method, you can access the the fetched objects with
    /// the property fetchedRecords.
    ///
    /// This method must be used from the main thread unless the controller has
    /// been initialized with a custom dispatch queue.
    public func performFetch() {
        // If some changes are currently processed, make sure they are discarded.
        observer?.invalidate()

    /// The records reflect the state of the database after the initial
    /// call to performFetch, and after each database transaction that affects
    /// the results of the fetch request.
    public var fetchedRecords: [Record]? {
        guard let fetchedItems = fetchedItems else {
            return nil
