         return fetchedObjects.count > 0
     }
     
+    fileprivate func present<T: UIViewController & Themeable>(_ viewControllerToPresent: T, with theme: Theme, animated flag: Bool, completion: (() -> Swift.Void)? = nil) {
+        viewControllerToPresent.apply(theme: theme)
+        present(viewControllerToPresent, animated: flag, completion: completion)
+    }
+    
     @objc func wmf_showEnableReadingListSyncPanelOnce(theme: Theme) {
         guard !UserDefaults.wmf_userDefaults().wmf_didShowEnableReadingListSyncPanel() && !SessionSingleton.sharedInstance().dataStore.readingListsController.isSyncEnabled else {
             return

//SessionSingleton.sharedInstance().dataStore.readingListsController.setSyncEnabled(true, shouldDeleteLocalLists: true, shouldDeleteRemoteLists: false)
            sender.dismiss(animated: true, completion: nil)
        }, dismissHandler: nil)
        panelVC.apply(theme: theme)
        present(panelVC, animated: true, completion: nil)
    }
    
    fileprivate func showLoginViewController(theme: Theme) {

                presenter?.wmf_showAddSavedArticlesToReadingListPanel(theme: theme)
            })
        }, secondaryButtonTapHandler: nil, dismissHandler:nil)
        present(panelVC, with: theme, animated: true, completion: {
            UserDefaults.wmf_userDefaults().wmf_setDidShowEnableReadingListSyncPanel(true)
        })
    }
