              
                 finalCKRecords.append(clientServerCKRecord.serverRecord)
             }
-        }
-        
-        if savedRecords != nil && conflictedRecords.count == 0
+            
+            var userInfo:Dictionary<String,Array<CKRecord>> = [CKSSyncConflictedResolvedRecordsKey:finalCKRecords]
+            error.memory = NSError(domain: CKSIncrementalStoreSyncOperationErrorDomain, code: 1, userInfo: userInfo)
+            wasSuccessful = false
+            return false
+        }
+        
+        if savedRecords != nil
         {
             var savedRecordsWithIDStrings = savedRecords!.map({(object)->String in
                 

import CloudKit
import ObjectiveC

let CKSIncrementalStoreSyncOperationFetchChangeTokenKey = "CKSIncrementalStoreSyncOperationFetchChangeTokenKey"
class CKSIncrementalStoreSyncOperation: NSOperation {
    

        var insertedOrUpdatedCKRecords = localChangesInServerRepresentation.insertedOrUpdatedCKRecords
        var deletedCKRecordIDs = localChangesInServerRepresentation.deletedCKRecordIDs
        
        var error:NSErrorPointer = nil
        if self.applyLocalChangesToServer(insertedOrUpdatedCKRecords, deletedCKRecordIDs: deletedCKRecordIDs, error: error)
        {
            var moreComing = true
            var insertedOrUpdatedCKRecords = Array<CKRecord>()
