         
         let predicateOperatorNumber = predicateOperatorObject as? UInt
         
-        let predicateOperator = NSPredicateOperatorType(rawValue: predicateOperatorNumber!)
+        var predicateOperator: NSPredicateOperatorType?
+        
+        if predicateOperatorNumber != nil {
+            
+            predicateOperator = NSPredicateOperatorType(rawValue: predicateOperatorNumber!)
+        }
         
         if (predicateKey != nil) && (predicateOperator != nil) && (jsonPredicateValue != nil) {
             


public class ServerRequest {
    
    let requestType: ServerRequestType
    
    let connectionType: ServerConnectionType
    
    let entity: NSEntityDescription
    
    let underlyingRequest: AnyObject
    
    /** The resourceID of the requested instance. Will be nil for @c POST (search or create instance) requests. */
    
    let resourceID: UInt?
    
    let JSONObject: [String: AnyObject]?
    
    let functionName: String?
    
    init(requestType: ServerRequestType, connectionType: ServerConnectionType, entity: NSEntityDescription, underlyingRequest: AnyObject, resourceID: UInt?, JSONObject: [String: AnyObject]?, functionName: String?) {
        
        self.requestType = requestType
        self.connectionType = connectionType


public class ServerResponse {
    
    public let statusCode: ServerStatusCode
    
    /** A JSON-compatible array or dictionary that will be sent as a response. */
    
    public let JSONResponse: AnyObject?
    
    public init(statusCode: ServerStatusCode, JSONResponse: AnyObject?) {
        
        self.statusCode = statusCode
        
