                 }
             }
             
-            guard let effectImageContext = UIGraphicsGetImageFromCurrentImageContext() else {
-                UIGraphicsEndImageContext()
-                return self
-            }
-            effectImage = effectImageContext
+            effectImage = UIGraphicsGetImageFromCurrentImageContext()!
             UIGraphicsEndImageContext()
         }
         

    /// - Parameters:
    ///   - blurRadius: Blur radius.
    ///   - saturation: Saturation delta factor, leave it default (1.8) if you don't what is.
    ///   - tintColor: Blur tint color.
    ///   - maskImage: Apply a mask image, leave it default (nil) if you don't want to mask.
    /// - Returns: Return the transformed image.
    public func blur(radius blurRadius: CGFloat, saturation: CGFloat = 1.8, tintColor: UIColor? = nil, maskImage: UIImage? = nil) -> UIImage {
        guard size.width != 0 || size.height != 0, cgImage != nil, let maskImage = maskImage, maskImage.cgImage != nil else {
            return self
        }
        
        let imageRect = CGRect(origin: CGPoint.zero, size: size)
        var effectImage = self
        
        let hasBlur = Float(blurRadius) > FLT_EPSILON

            if hasSaturationChange {
                let s = saturation
                let floatingPointSaturationMatrix = [
                    0.0722 + 0.9278 * s,  0.0722 - 0.0722 * s,  0.0722 - 0.0722 * s,  0,
                    0.7152 - 0.7152 * s,  0.7152 + 0.2848 * s,  0.7152 - 0.7152 * s,  0,
                    0.2126 - 0.2126 * s,  0.2126 - 0.2126 * s,  0.2126 + 0.7873 * s,  0,
                    0,                    0,                    0,                    1
                ]
                
                let divisor: CGFloat = 256
