                 if let offsetChangeAnimation = offsetChangeAnimation {
                     runCompletion = false
                     offsetChangeAnimation.stopAnimation()
-//                    offsetChangeAnimation.stopAnimation(true)
-                    //                    runCompletion = true
-                    
                 }
                 
                 delegate?.endlessPageViewWillScroll(self)

            , apply: { [weak self] (pos) in
                
                self?.contentOffset = pos
            })
        offsetChangeAnimation?.animate(1.0, duration: CGFloat(animationTime), completion: { [weak self] in
            
            if let strongSelf = self {
                strongSelf.contentOffset = pagePoint
                strongSelf.delegate?.endlessPageViewDidEndDecelerating(strongSelf)
            }
            })
        /*
        offsetChangeAnimation = UIViewPropertyAnimator(duration: animationTime
            , curve: .easeOut
            , animations: { [weak self] in
                if let strongSelf = self {
                    strongSelf.contentOffset = pagePoint
                    //                                strongSelf.updateBounds()
                    //                                strongSelf.updateCells()
                }
            })
        
        offsetChangeAnimation?.addCompletion { [weak self] (position) in
            if let strongSelf = self {
                strongSelf.contentOffset = pagePoint
                strongSelf.delegate?.endlessPageViewDidEndDecelerating(strongSelf)
            }
        }
        offsetChangeAnimation?.startAnimation()
        */
    }
    
    // MARK: Data cache

                    let animationTime:TimeInterval = 0.2
                    
                    runCompletion = true
                    
                    offsetChangeAnimation = Interpolate(from: contentOffset
                        , to: pagePoint
