 // MARK: GestureControlDelegate
 
 extension PaperOnboarding: GestureControlDelegate {
-  
+
   func gestureControlDidSwipe(direction: UISwipeGestureRecognizerDirection) {
     switch direction {
     case UISwipeGestureRecognizerDirection.Right:

  }
}

// MARK: OnboardingDelegate 

extension PaperOnboarding: OnboardingContentViewDelegate {
  
  func onboardingItemAtIndex(index: Int) -> OnboardingItemInfo? {
    return itemsInfo?[index]
  }
}
// MARK: public

public extension PaperOnboarding {

  func currentIndex(index: Int, animated: Bool) {
    if 0 ..< itemsCount ~= index {
      (self.delegate as? PaperOnboardingDelegate)?.onboardingWillTransitonToIndex(index)
      currentIndex = index
      CATransaction.begin()


      CATransaction.setCompletionBlock({
        (self.delegate as? PaperOnboardingDelegate)?.onboardingDidTransitonToIndex(index)
      })


      if let postion = pageView?.positionItemIndex(index, onView: self) {
        fillAnimationView?.fillAnimation(bakcgroundColor(currentIndex), centerPosition: postion, duration: 0.5)
      }
      pageView?.currentIndex(index, animated: animated)
      contentView?.currentItem(index, animated: animated)
      CATransaction.commit()
    }

  }
}
// MARK: create

extension PaperOnboarding {

  private func commonInit() {
    itemsInfo = createItemsInfo()
    translatesAutoresizingMaskIntoConstraints = false
