         if set == nil { return 0 }
 
         return reduce(set!, 0) { (count, object) in
-            println("\( object.objectID) \( object.objectID.temporaryID ) ")
             var item = self.fetchSyncItem(object.objectID)
             if item == nil {
                 item = JLCloudKitItem(managedObjectContext: self.backingContext)

            self.zoneName = name

            NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("contextDidSave:"), name: NSManagedObjectContextDidSaveNotification, object: self.context)
            
            dispatch_async(dispatch_get_main_queue()) { completionHandler(error) }
        }
        db.addOperation(operation)

    public func performSync() {
        self.notifySyncBegin()
        self.performSyncInternal()
    }
    
    // Wipe cloud data and sync queue
    public func wipeDataInCloudKitAndCleanQueue(completionHandler: (NSError?) -> Void) {
        clearDataInCloudKit { error in
            self.clearData(self.backingContext, entityName: JLCloudKitItem.entityName())
            completionHandler(error)
        }
    }
    
    // Stop sync
    public func stopSync() {
        NSNotificationCenter.defaultCenter().removeObserver(self, name: NSManagedObjectContextDidSaveNotification, object: self.context)
    }
    
    // MARK: - Sync
