                 let viewController = _rootViewControllersInfo.viewControllers[showingIndex]
                 
                 let formerViewController = _rootViewControllersInfo.viewControllers[index]
-                let transitionNavigationItemViews = tabNavigationBar.beginTransitionNavigationItems(viewController.tabNavigationItems, on: formerViewController.tabNavigationItems, in: _transitionNavigationItemViewsInfo?.navigationItemViews)
+                let transitionNavigationItemViews = tabNavigationBar.beginTransitionNavigationItems(viewController.tabNavigationItems, on: formerViewController.tabNavigationItems, in: _transitionNavigationItemViewsContext?.navigationItemViews)
                 
-                _transitionNavigationItemViewsInfo = (showingIndex, transitionNavigationItemViews)
-            }
-            
-            tabNavigationBar.setNestedScrollViewContentOffset(scrollView.contentOffset, contentSize: scrollView.contentSize, bounds: scrollView.bounds, transition: _transitionNavigationItemViewsInfo?.navigationItemViews)
+                _transitionNavigationItemViewsContext = (showingIndex, transitionNavigationItemViews)
+            }
+            
+            tabNavigationBar.setNestedScrollViewContentOffset(scrollView.contentOffset, contentSize: scrollView.contentSize, bounds: scrollView.bounds, transition: _transitionNavigationItemViewsContext?.navigationItemViews)
         }
     }
     

    fileprivate weak var _selectedViewController: UIViewController?
    
    private weak var _trailingConstraintOfLastViewController: NSLayoutConstraint?
    fileprivate var _transitionNavigationItemViewsInfo: TabNavigationItemViewsInfo?
    lazy
    fileprivate var _contentScrollView: UIScrollView = _createGeneralPagingScrollView()
    

}

extension TabNavigationController {
    public typealias TabNavigationItemViewsContext = (index: Int, navigationItemViews: TabNavigationBar.TabNavigationItemViews?)
}

private func _createGeneralPagingScrollView() -> UIScrollView {
