     ///   - baseViewController: Base viewController
     ///   - permittedArrowDirections: The default value is '.any'. Omissible.
     /// - Returns: The configured navigationController
-    open func configureNavigationController(storyboardName: String, originView: UIView, baseViewWhenOriginViewHasNoSuperview: UIView? = nil, baseViewController: UIViewController, permittedArrowDirections:UIPopoverArrowDirection = .any)->UINavigationController?{
+    open func configureNavigationController(storyboardName: String, originView: UIView, baseViewWhenOriginViewHasNoSuperview: UIView? = nil, baseViewController: UIViewController, permittedArrowDirections:UIPopoverArrowDirection = .any) -> UINavigationController? {
         var bundle:Bundle
         if let _ = Bundle.main.path(forResource: storyboardName, ofType: "storyboardc"){
             bundle = Bundle.main

    ///
    /// - Parameter navigationController: Source navigationController.
    /// - Returns: ContentViewController.
    open func configureContentViewController(navigationController: UINavigationController)->AbstractPickerPopoverViewController?{
        if let contentViewController = navigationController.topViewController as? AbstractPickerPopoverViewController {
            contentViewController.anyPopover = self
            self.contentViewController = contentViewController
            return contentViewController
        }
        
        return nil
    }
    
    /// Close the popover
    ///
    /// - Parameter completion: Action to be performed after the popover disappeared. Omissible.
    open func disappear(completion:( () -> Void )? = nil){
        if let parentView = baseViewController?.navigationController?.view ?? baseViewController?.view, let dimmedView = parentView.subviews.filter({$0.accessibilityIdentifier == kDimmedViewIdentifer}).first {
            UIView.animate(withDuration: 0.4, animations: {
                dimmedView.alpha = 0

    /// - Item to be executed after the specified time
    /// - The time
    /// - Process to be executed after performing the DispatchWorkItem
    private(set) var disappearAutomaticallyItems: (dispatchWorkItem: DispatchWorkItem?, seconds: Double?, completion: VoidHandlerType?)
    
    /// ViewController in charge of content in the popover
    private(set) weak var contentViewController: AnyObject?
