                             return ServerStatusCode.BadRequest
                         }
                         
-                        let (newValue, error) = FetchEntity(destinationEntity!, withResourceID: destinationResourceID, usingContext: context, resourceIDAttributeName: self.resourceIDAttributeName, shouldPrefetch: false)
-                        
-                        if error != nil {
+                        let newValue: NSManagedObject?
+                        
+                        do {
+                            
+                            newValue = try FetchEntity(destinationEntity!, withResourceID: destinationResourceID, usingContext: context, resourceIDAttributeName: self.resourceIDAttributeName, shouldPrefetch: false)
+                        }
+                        catch _ {
                             
                             return ServerStatusCode.InternalServerError
                         }

                    
                    // respond with data
                    
                let jsonData: NSData?
                    do {
                        jsonData = try NSJSONSerialization.dataWithJSONObject(serverResponse.JSONResponse!, options: self.jsonWritingOption())
                    } catch _ {
                        jsonData = nil
                    }
                    
                    response.respondWithData(jsonData)
                    

            
            do {
                try context.save()
                
            } catch {
                saveError = error
            }
            
            return
