         
         guard navigationController.viewControllers.contains(viewController)
             else { assert(false); return }
-
+        
         let targetTransitionsHandler = navigationTransitionsHandler
             ?? navigationController.wrappedInNavigationTransitionsHandler()
         

        
        guard let transitionsHandler = transitionsHandler
            else { assert(false); return }
    
        guard navigationController.viewControllers.contains(viewController)
            else { assert(false); return }
        

        transitionsHandler.performTransition(context: context)
    }
    
    func presentModalSplitViewController(
        viewController: UISplitViewController,
        masterControllerDerivedFromClosure closureMaster: (TransitionsHandler -> UIViewController),
        detailControllerDerivedFromClosure closureDetail: (TransitionsHandler -> UIViewController),
        animator: TransitionsAnimator = NavigationTransitionsAnimator())
    {
        let splitViewController = UISplitViewController()
        let splitViewTransitionHandler = splitViewController.wrappedInSplitViewTransitionsHandler()
        defer {
            presentModalMasterDetailViewController(
                splitViewController,
                targetTransitionsHandler: splitViewTransitionHandler,
                animator: animator
            )
        }
        
        let masterNavigation = UINavigationController()
        let detailNavigation = UINavigationController()
        splitViewController.viewControllers = [masterNavigation, detailNavigation]
        
        let masterTransitionsHandler = masterNavigation.wrappedInNavigationTransitionsHandler()
        let detailTransitionsHandler = detailNavigation.wrappedInNavigationTransitionsHandler()

        splitViewTransitionHandler.masterTransitionsHandler = masterTransitionsHandler
        splitViewTransitionHandler.detailTransitionsHandler = detailTransitionsHandler
        
        let masterViewController = closureMaster(masterTransitionsHandler)
        let detailViewController = closureDetail(detailTransitionsHandler)

        masterNavigation.viewControllers = [masterViewController]
        detailNavigation.viewControllers = [detailViewController]
    }
    
    func presentModalViewController(
        viewController: UIViewController,
        inNavigationController navigationController: UINavigationController,
