 			
 			return
 		}
-		
-		isExecutingOperation = true
+
+		updateExecutingAndFinished(true, false)
 		DispatchQueue.main.async {
 			self.main()
 		}

	
	override func start() {
		guard !isCancelled else {
			isExecutingOperation = false
			isFinishedOperation = true
			
			if downloadProgress != nil {
				DispatchQueue.main.async {
					self.downloadProgress = nil

		
		downloadProgress = nil
		
		updateExecutingAndFinished(false, true)
	}
	
	func didFinish(_ error: Error) {
