   open func select(pagingItem: T, animated: Bool = false) {
     if pageViewController.delegate == nil {
       stateMachine.fire(.initial(pagingItem: pagingItem))
+      configureSizeCache(for: pagingItem)
     } else {
       switch (state) {
       case .empty:

        contentOffset: self.collectionView.contentOffset,
        distance: distance.calculate())
    }
    
    configureSizeCache()
  }
  
  private func configureSizeCache() {
    if let _ = delegate, let currentPagingItem = state.currentPagingItem {
      sizeCache.widthForPagingItem = { [unowned self] item, selected in
        return self.delegate?.pagingViewController(self,
          widthForPagingItem: item,

      }
      
      if let _ = delegate?.pagingViewController(self,
        widthForPagingItem: pagingItem,
        isSelected: false) {
        sizeCache.implementsWidthDelegate = true
      }
