                     
                     // make sure all the values are present and have the correct permissions...
                     
-                    if newValue.count != destinationResourceIDs?.count {
+                    if newValue!.count != destinationResourceIDs?.count {
                         
                         return ServerStatusCode.BadRequest
                     }
                     
                     for destinationResourceID in destinationResourceIDs! {
                         
-                        let destinationResource = newValue[find(destinationResourceIDs!, destinationResourceID)!]
+                        let destinationResource = newValue![find(destinationResourceIDs!, destinationResourceID)!]
                         
                         // destination resource must be visible
                         if self.permissionsEnabled {

                    }
                    
                    // not found
                    if fetchResult.count != jsonPredicateValue?.count {
                        
                        let response = ServerResponse(statusCode: ServerStatusCode.BadRequest, JSONResponse: nil)
                        

                    }
                    
                    // pointer
                    var newValuePointer: AnyObject? = NSSet(array: newValue!) as AnyObject?
                    
                    // must be a valid value
                    if !resource.validateValue(&newValuePointer, forKey: key, error: nil) {
