 
 
     override func cancel() {
-        task.cancel()
+        task?.cancel()
         super.cancel()
         VK.Log.put(delegate, "cancel \(self)")
     }


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

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

