             lhs.contentMode == rhs.contentMode &&
             isEquivalent(lhs.processor, rhs: rhs.processor)
     }
-
+    
     /** Returns processor with combined image decompressor constructed based on request's target size and content mode, and image processor provided in image request.
      */
     public func loader(loader: ImageLoader, processorForRequest request: ImageRequest, image: Image) -> ImageProcessing? {

            }
        }
    }

    public func cancelLoadingFor(task: ImageTask) {
        dispatch_async(self.queue) {
            if let state = self.executingTasks[task] {
                switch state {
                case .Loading(let sessionTask):
                    if sessionTask.cancel(task) {
                        self.removeSessionTask(sessionTask)
                    }
                case .Processing(let operation):
                    operation.cancel()

            return ImageDecompressor(targetSize: request.targetSize, contentMode: request.contentMode)
        #endif
    }
    
    private func isEquivalent(lhs: ImageProcessing?, rhs: ImageProcessing?) -> Bool {
        switch (lhs, rhs) {
        case let (l?, r?): return l.isEquivalent(r)
