         return UIApplication.shared.keyWindow?.rootViewController?.topPresentedViewController
     }
     
+    private var popOverUsableNavigationController: KUIPopOverUsableNavigationController {
+        let naviController = KUIPopOverUsableNavigationController(rootViewController: self)
+        naviController.modalPresentationStyle = .popover
+        naviController.popoverPresentationController?.delegate = KUIPopOverDelegation.shared
+        return naviController
+    }
+    
     private func setup() {
         modalPresentationStyle = .popover
         preferredContentSize = contentSize

    }
    
    public func showPopover(withNavigationController sourceView: UIView, sourceRect: CGRect) {
        let naviController = KUIPopOverUsableNavigationController(rootViewController: self)
        naviController.modalPresentationStyle = .popover
        naviController.popoverPresentationController?.delegate = KUIPopOverDelegation.shared
        naviController.popoverPresentationController?.sourceView = sourceView
        naviController.popoverPresentationController?.sourceRect = sourceRect
        rootViewController?.present(naviController, animated: true, completion: nil)

    }
    
    public func showPopover(withNavigationController barButtonItem: UIBarButtonItem) {
        let naviController = popOverUsableNavigationController
        naviController.popoverPresentationController?.barButtonItem = barButtonItem
        rootViewController?.present(naviController, animated: true, completion: nil)
    }
