     private func _processNewItems(newItems: [T], clearCacheIfNewItemsAreDifferent: Bool) {
         if newItems == items {
             dispatch_async(dispatch_get_main_queue()) { () -> Void in
-                delegate?.itemsUpdated([], itemsDeleted: [])
+                self.delegate?.itemsUpdated([], itemsDeleted: [])
             }
             return
         }

        cache?.addItems(newItems)
        let itemsAdded = _indexesForItems(Set(newItems), inArray: items)
        dispatch_async(dispatch_get_main_queue()) { () -> Void in
            delegate?.itemsUpdated(itemsAdded, itemsDeleted: [])
        }
    }
    


            cache?.clearCache()
            dispatch_async(dispatch_get_main_queue()) { () -> Void in
                self.cache?.addItems(self.items)
            }
        }
        else {
