         let previousConfigure = configure
         configure = { [unowned self] _op in
             let op = previousConfigure?(_op) ?? _op
-            op.recordZoneID = self.operation.recordZoneID
-            op.previousServerChangeToken = self.operation.previousServerChangeToken
-            op.desiredKeys = self.operation.desiredKeys
-            op.resultsLimit = self.operation.resultsLimit
-            op.recordChangedBlock = self.operation.recordChangedBlock
-            op.recordWithIDWasDeletedBlock = self.operation.recordWithIDWasDeletedBlock
+            op.recordZoneID = self.recordZoneID
+            op.previousServerChangeToken = self.previousServerChangeToken
+            op.desiredKeys = self.desiredKeys
+            op.resultsLimit = self.resultsLimit
+            op.recordChangedBlock = self.recordChangedBlock
+            op.recordWithIDWasDeletedBlock = self.recordWithIDWasDeletedBlock
             op.fetchRecordChangesCompletionBlock = { token, data, error in
                 if let error = error {
                     self.receivedError(error)

        let previousConfigure = configure
        configure = { [unowned self] _op in
            let op = previousConfigure?(_op) ?? _op
            op.subscriptionIDs = self.operation.subscriptionIDs
            op.fetchSubscriptionCompletionBlock = { subscriptionsByID, error in
                if let error = error {
                    self.receivedError(error)

        let previousConfigure = configure
        configure = { [unowned self] _op in
            let op = previousConfigure?(_op) ?? _op
            op.recordZonesToSave = self.recordZonesToSave
            op.recordZoneIDsToDelete = self.recordZoneIDsToDelete
            op.modifyRecordZonesCompletionBlock = { saved, deleted, error in
                if let error = error {
                    self.receivedError(error)
