      
      - returns: The response.
      */
-    @warn_unused_result public func responsePropertyList(options options: NSPropertyListReadOptions = NSPropertyListReadOptions()) -> Response<AnyObject, NSError> {
+    public func responsePropertyList(options: PropertyListSerialization.ReadOptions = PropertyListSerialization.ReadOptions()) -> DataResponse<Any> {
         
-        let semaphore = dispatch_semaphore_create(0)
+        let semaphore = DispatchSemaphore(value: 0)
         
-        var result: Response<AnyObject, NSError>!
+        var result: DataResponse<Any>!
         
-        self.responsePropertyList(queue: dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), options: options, completionHandler: { response in
+        self.responsePropertyList(queue: DispatchQueue.global(qos: .default), options: options) { response in
             
             result = response
-            dispatch_semaphore_signal(semaphore)
+            semaphore.signal()
             
-        })
+        }
         
-        dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
+        _ = semaphore.wait(timeout: DispatchTime.distantFuture)
         
         return result
     }
-}+}

     
     - returns: The response.
     */
    @warn_unused_result public func responseJSON(options options: NSJSONReadingOptions = .AllowFragments) -> Response<AnyObject, NSError> {
        
        let semaphore = dispatch_semaphore_create(0)
        
        var result: Response<AnyObject, NSError>!
        
        self.responseJSON(queue: dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), options: options, completionHandler: {response in
            
            result = response
            dispatch_semaphore_signal(semaphore)
            
        })
        
        dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
        
        return result
    }

import Foundation
import Alamofire

extension DataRequest {
    
    
    /**
