 
 extension URLListViewController: URLItemSelectionReceivable {
     func didSelect(_ selection: URLItem.Selection, from: NSOutlineView?) {
-        // configure data source
-        // also set title in same switch
-        let realm = try! Realm()
-//        let data: Data
-        switch selection {
-        case .unarchivedItems:
-            self.title = "Hipstapaper"
-            let archived = #keyPath(URLItem.iArchived)
-            let creationDate = #keyPath(URLItem.creationDate)
-            let results = realm.objects(URLItem.self).filter("\(archived) = NO").sorted(byProperty: creationDate, ascending: false)
-            self.arrayController?.content = Array(results)
-//            self.notificationToken = results.addNotificationBlock(self.tableResultsUpdateClosure)
-//            data = .results(results)
-        case .allItems:
-            self.title = "All Items"
-            let creationDate = #keyPath(URLItem.creationDate)
-            let results = realm.objects(URLItem.self).sorted(byProperty: creationDate, ascending: false)
-            self.arrayController?.content = Array(results)
-//            self.notificationToken = results.addNotificationBlock(self.tableResultsUpdateClosure)
-//            data = .results(results)
-        case .tag(let tagItem):
-            self.title = "🏷 \(tagItem.name)"
-            let links = tagItem.items
-            self.arrayController?.content = Array(links)
-//            self.notificationToken = links.addNotificationBlock(self.tableLinksUpdateClosure)
-//            data = .links(links)
-        }
+        self.selection = selection
+        self.hardReloadData()
     }
 }
 

class URLListViewController: NSViewController {
    
    @IBOutlet weak var arrayController: NSArrayController?
    
    fileprivate var openWindowsControllers = [URLItem : NSWindowController]()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        print("URLListViewController Loaded")
    }
    
    // MARK: Handle Double click on TableView

            }
        }
    }
    
    // MARK: Handle Going Away
    
    private var notificationToken: NotificationToken?
    
    deinit {
        self.notificationToken?.stop()
    }
}

fileprivate extension UInt16 {
