                         return (response, userInfo)
                     }
                     
-                    let (fetchResult, error) = self.fetchEntity(entity, withResourceIDs: resourceIDs!, usingContext: context, shouldPrefetch: false)
+                    let (fetchResult, error) = self.fetchEntity(relationshipDescription!.destinationEntity!, withResourceIDs: resourceIDs!, usingContext: context, shouldPrefetch: false)
                     
                     // error fetching
                     if error != nil {

                
                // validate NSUInteger bitmask
                
                if optionNumber == nil || optionNumber != NSComparisonPredicateOptions.NormalizedPredicateOption.rawValue || optionNumber != NSComparisonPredicateOptions.DiacriticInsensitivePredicateOption.rawValue || optionNumber != NSComparisonPredicateOptions.CaseInsensitivePredicateOption.rawValue {
                    
                    let response = ServerResponse(statusCode: ServerStatusCode.BadRequest, JSONResponse: nil)
                    

            var value: AnyObject?
            
            // one of these will be nil
            let relationshipDescription = entity.relationshipsByName[predicateKey!] as? NSRelationshipDescription
            
            let attributeDescription = entity.attributesByName[predicateKey!] as? NSRelationshipDescription
            
            // validate that key is attribute or relationship
            if (relationshipDescription == nil) && (attributeDescription == nil) {
