     }
     
     // MARK: - Navigation
-    
+
     open func show(
         page:AppFlowControllerPage,
         variant:AppFlowControllerPage? = nil,

                )
            }
            
            let index          = indexRange.upperBound - 1
            let item           = pages[index]
            let parentPage     = rootPathStep?.search(page: item)?.parent?.current
            let skipParentPage = parentPage == nil ? false : tracker.isItemSkipped(at: parentPage!.identifier)
            let skippedPage    = tracker.isItemSkipped(at: item.identifier)
            let viewController = tracker.viewController(for: item.identifier)
            
            guard let navigationController = rootNavigationController?.visibleNavigationController else {
                completionBlock?()
                return
            }
            
            if skipParentPage {
                
                dismissNext(viewControllerForSkippedPage: viewController ?? viewControllerForSkippedPage)
                
            } else if let viewController = viewControllerForSkippedPage, skippedPage {
                
                item.backwardTransition?.backwardTransitionBlock(animated: animated){
                    dismissNext()
                }(navigationController, viewController)
                
            } else if let viewController = viewController, !skippedPage {
                
                item.backwardTransition?.backwardTransitionBlock(animated: animated){
                    dismissNext()
                }(navigationController, viewController)
                
            } else {
                
                completionBlock?()
                
            }
   
        }

            
        } else {
            
            let index          = indexRange.upperBound - 1
            let item           = pages[index]
            let parentPage     = rootPathStep?.search(page: item)?.parent?.current
            let skipParentPage = parentPage == nil ? false : tracker.isItemSkipped(at: parentPage!.identifier)
            let skippedPage    = tracker.isItemSkipped(at: item.identifier)
            let viewController = tracker.viewController(for: item.identifier)
            
            guard let navigationController = rootNavigationController?.visibleNavigationController else {
                completionBlock?()
                return
            }
            
            func dismissNext(viewControllerForSkippedPage:UIViewController? = nil) {
                self.dismiss(
                    pages: pages,
