 internal final class SendTask: Operation {
     unowned private let delegate: RequestInstance
     private let config: RequestConfig
-    private var task: URLSessionTask!
+    private var task: URLSessionTask?
     private let id: Int
     private let reqId: Int64
 


    deinit {
//        VK.Log.put("Life", "deinit \(self)")
        task.removeObserver(self, forKeyPath: #keyPath(URLSessionTask.countOfBytesReceived))
        task.removeObserver(self, forKeyPath: #keyPath(URLSessionTask.countOfBytesSent))
    }
}

            let urlRequest = UrlFabric.createWith(config: config)
            self.task = session.dataTask(with: urlRequest, completionHandler: completeon)
            
            task?.addObserver(self, forKeyPath: #keyPath(URLSessionTask.countOfBytesReceived), options: .new, context: nil)
            task?.addObserver(self, forKeyPath: #keyPath(URLSessionTask.countOfBytesSent), options: .new, context: nil)
            
            task?.resume()
        }
        
        semaphore.wait()
