             
         case .left, .downMirrored:
             
+            cache = ImageCache()
+            
             pixels.withUnsafeMutableBufferPointer {
                 
                 guard let buffer = $0.baseAddress else { return }

        case .up, .leftMirrored: break
        case .right, .upMirrored:
            
            pixels.withUnsafeMutableBufferPointer {
                
                guard let buffer = $0.baseAddress else { return }

            
        case .down, .rightMirrored:
            
            cache = ImageCache()
            
            pixels.withUnsafeMutableBufferPointer {
                guard let buffer = $0.baseAddress else { return }
                Swap($0.count >> 1, buffer, 1, buffer + $0.count - 1, -1)
