                 return
             }
             
-            self.cancelled = true
+            self.stopped = true
             self.tasks.forEach { (_, task) -> () in
                 task.cancel()
             }

        // Since we want to handle the resources cancellation in main thread only.
        dispatch_async_safely_to_main_queue { () -> () in
            
            guard !self.cancelled else {
                assertionFailure("You can not restart the same prefetcher. Try to create a new prefetcher.")
                self.handleComplete()
                return

    private var failedResources = [Resource]()
    
    private var requestedCount = 0
    private var stopped = false
    
    // The created manager used for prefetch. We will use the helper method in manager.
    private let manager: KingfisherManager
