                     try URLSession.swizzle(replace: "dataTaskWithURL:", with: "swizzledDataTaskWithURL:")
 
                     try URLSession.swizzle(replace: "dataTaskWithRequest:completionHandler:", with: "swizzledDataTaskWithRequest:completionHandler:")
-                    //try URLSession.swizzle(replace: "dataTaskWithURL:completionHandler:", with: "swizzledDataTaskWithURL:completionHandler:")
+                    try URLSession.swizzle(replace: "dataTaskWithURL:completionHandler:", with: "swizzledDataTaskWithURL:completionHandler:")
                     
                     Log("NSURLSession now mocked")
                 } catch let e {

                                        reason: "Request \(request) was not mocked but is required to be mocked",
                userInfo: nil)
            exception.raise()
            return self.swizzledDataTaskWithRequest(request: request, completionHandler: completionHandler)
        }

        switch (URLSession.debugMockRequests) {

        }

        // Otherwise, let NSURLSession deal with it
        return fallback()
    }
    
    @objc(swizzledDataTaskWithURL:)
    private func swizzledDataTaskWithURL(url: URL!) -> URLSessionDataTask {
        let request = URLRequest(url: url)

        return self.dataTask(with: request)
    }

    @objc(swizzledDataTaskWithURL:completionHandler:)
    private func swizzledDataTaskWithURL(url: URL!, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionDataTask {
        let request = URLRequest(url: url)

        return self.dataTask(with: request, completionHandler: completionHandler)
    }

    // MARK: - Helpers
    
    fileprivate func task(for request: URLRequest, completionHandler: ((Data?, URLResponse?, Error?) -> Void)?) -> URLSessionDataTask? {
