             if self.isEnabled {
                 newInsets.bottom = self.originalInset.bottom + self.height
             }
-//            self.setContentInset(contentInset)
             if contentInset.bottom != newInsets.bottom {
                 self.scrollView?.removeObserver(self, forKeyPath: "contentInset")
                 self.setContentInset(newInsets)

            self.layoutSubviews()
        } else if keyPath == "contentInset" {
            if let value = change?[NSKeyValueChangeKey.newKey] as? NSValue {
                self.originalInset = value.uiEdgeInsetsValue
                //                self.scrollView?.removeObserver(self, forKeyPath: "contentInset")
                self.adjustInsets()
                //                self.scrollView?.addObserver(self, forKeyPath: "contentInset", options: .new, context: nil)
            }
        }
    }

    fileprivate weak var scrollView: UIScrollView?
    fileprivate var originalInset: UIEdgeInsets = UIEdgeInsets()
    
    override open func startAnimating() {
        self.layoutSubviews()
        if self.isEnabled {
            self.infiniteState = .loading
        }
    }
    override open func stopAnimating() { self.infiniteState = .stopped }
    
    //MARK: - Lifecycle
