         }
     }
 
-    override open func popViewController(animated: Bool) -> UIViewController {
+    override  func popViewController(animated: Bool) -> UIViewController {
         return SafeUnwrapViewController(controller: super.popViewController(animated: animated)!)
     }
     
-    override open func popToRootViewController(animated: Bool) -> [UIViewController]? {
+    override  func popToRootViewController(animated: Bool) -> [UIViewController]? {
         return super.popToRootViewController(animated: animated)!.map{ (viewController) -> UIViewController in
           SafeUnwrapViewController(controller: viewController)
         }
     }
 
-    override open func popToViewController(_ viewController: UIViewController, animated: Bool) -> [UIViewController] {
+    override  func popToViewController(_ viewController: UIViewController, animated: Bool) -> [UIViewController]? {
         var controllerToPop: UIViewController? = nil
         for item in super.viewControllers {
             if SafeUnwrapViewController(controller: item) == viewController {

    }
}

extension RootNavigationController: UIGestureRecognizerDelegate {
    
    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
    
    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return (gestureRecognizer == self.interactivePopGestureRecognizer)
    }
}

        super.setViewControllers(vcs, animated: animated)
    }
    
//    override  var delegate: UINavigationControllerDelegate? {
//        set {
//            self.rt_delegate = delegate
//        }
//        
//        get {
//            return self.rt_delegate
//        }
//    }
    
    override  var shouldAutorotate: Bool {
        return self.topViewController?.shouldAutorotate ?? false
    }

    override  var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return self.topViewController?.supportedInterfaceOrientations ?? .portrait
    }

    override  var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
         return self.topViewController?.preferredInterfaceOrientationForPresentation ?? .unknown
    }

    @available(iOS, introduced: 2.0, deprecated: 8.0, message: "Header views are animated along with the rest of the view hierarchy")
    override  func rotatingHeaderView() -> UIView? {
        return self.topViewController?.rotatingHeaderView()
    }
    
    @available(iOS, introduced: 2.0, deprecated: 8.0, message: "Footer views are animated along with the rest of the view hierarchy")
    override  func rotatingFooterView() -> UIView? {
        return self.topViewController?.rotatingFooterView()
    }
    
    override  func responds(to aSelector: Selector) -> Bool {
        if super.responds(to: aSelector) {
            return true
        }
