     }
     
     open func stopAnimating() {
-        if _imageView.isAnimating {
-            _imageView.stopAnimating()
-        }
-        
         guard isAnimating else {
             return
         }

    }
    
    open func startAnimating() {
        
        guard let _ = _image else {
            _imageView.startAnimating()
            return
        }
        
        guard !isAnimating else {
            return
        }

    /// }
    /// ```
    public var staticImage: UIImage? = nil {
        didSet {
            if let targetScale = staticImage?.scale {
                layer.contentsScale = targetScale
            }
            layer.contents = staticImage?.cgImage
        }
    }
    
    private func unsetImage() {
        _image?.owner = nil
        stopAnimating()
        _image = nil
        layer.contents = nil
        playedCount = 0
        displayingFrameIndex = 0
    }
    
    public var image: APNGImage? {
        get { _image }
        set {
            guard let nextImage = newValue else {
                unsetImage()
                return
            }
            
