 
 class Node: NSObject, Comparable {
 
-  static func <(lhs: Node, rhs: Node) -> Bool {
-    return lhs.displayName < rhs.displayName
-  }
+  static func <(lhs: Node, rhs: Node) -> Bool { lhs.displayName < rhs.displayName }
 
   @objc dynamic var url: URL
   @objc dynamic var isLeaf: Bool
   @objc dynamic var isHidden: Bool
   @objc dynamic var children: [Node]?
 
-  @objc dynamic var childrenCount: Int {
-    return self.children?.count ?? -1
-  }
-  @objc dynamic var displayName: String {
-    return self.url.lastPathComponent
-  }
-
-  var isDir: Bool {
-    return !self.isLeaf
-  }
+  @objc dynamic var childrenCount: Int { self.children?.count ?? -1 }
+  @objc dynamic var displayName: String { self.url.lastPathComponent }
+
+  var isDir: Bool { !self.isLeaf }
   var isChildrenScanned = false
 
-  override var description: String {
-    return "<Node: \(self.url): \(self.childrenCount) children>"
-  }
-
-  override var hash: Int {
-    return self.url.hashValue
-  }
+  override var description: String { "<Node: \(self.url): \(self.childrenCount) children>" }
+
+  override var hash: Int { self.url.hashValue }
 
   init(url: URL) {
     self.url = url

    self.lastThemeMark = theme.mark
  }

  private func shouldReloadData(
    for state: StateType, themeChanged: Bool = false
  ) -> Bool {
    if self.isShowHidden != state.fileBrowserShowHidden {
      return true
    }

    if themeChanged {
      return true
    }

    if self.showsFileIcon != state.appearance.showsFileIcon {
      return true
    }

    if state.cwd != self.cwd {
      return true
    }

    return false
  }

  private func node(from item: Any?) -> Node? {
    return (item as? NSTreeNode)?.node
  }
}

// MARK: - Actions

    self.unbind(.selectionIndexPaths)
  }

  required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") }

  private let emit: (UuidAction<FileBrowser.Action>) -> Void
  private let disposeBag = DisposeBag()
