         viewController.removeFromParentViewController()
         viewController.didMove(toParentViewController: nil)
         
+        _rootViewControllersContext.viewControllers.remove(at: index)
         tabNavigationBar.removeNavigaitonTitleItem(at: index)
         
         return (true, viewController)

    }
    
    public func addViewController<T>(_ viewController: T) where T: UIViewController, T: TabNavigationReadable {
        _addViewControllerWithoutUpdatingNavigationTitle(viewController)
        tabNavigationBar.addNavigationTitleItem(viewController._tabNavigationTitleItem)
    }
    @discardableResult
    public func removeViewController<T>(_ viewController: T) -> (Bool, UIViewController?) where T: UIViewController, T:TabNavigationReadable {

        _contentScrollView.scrollRectToVisible(viewController.view.frame, animated: animated)
        if updateNavigationBar {
            _tabNavigationBar.setSelectedTitle(at: index, animated: animated)
        }
        
        guard _isViewAppeared else {
            return
        }
        
        _beginsRootViewControllersAppearanceTransition(at: index, updateNavigationItems: updateNavigationItems, animated: animated)
