     // and check here before modifying.
     guard self.treeController.isEditable else { return }
 
-    let indexPathsToRemove =
-      changeTreeNode.children?
-        .filter { child in
-          guard let url = child.node?.url else { return true }
-          return newChildUrls.contains(url) == false
-        }
-        .map { $0.indexPath } ?? []
-
-    changeTreeNode.children?
+    let indexPathsToRemove = changeTreeNode
+                               .children?
+                               .filter { child in
+                                 guard let url = child.node?.url else { return true }
+                                 return newChildUrls.contains(url) == false
+                               }
+                               .map { $0.indexPath } ?? []
+
+    changeTreeNode
+      .children?
       .filter { child in
         guard let url = child.node?.url else { return true }
         return newChildUrls.contains(url) == false
       }
-      .forEach { treeNode in
-        self.log.default(treeNode.node)
-      }
-
-    self.treeController.removeObjects(
-      atArrangedObjectIndexPaths: indexPathsToRemove
-    )
+      .forEach { treeNode in self.log.default(treeNode.node) }
+
+    self.treeController.removeObjects(atArrangedObjectIndexPaths: indexPathsToRemove)
   }
 
   private func childUrls(for url: 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


  @IBAction func doubleClickAction(_: Any?) {
    let clickedTreeNode = self.clickedItem
    guard let node = self.node(from: clickedTreeNode) else { return }

    if node.isDir {
      self.toggle(item: clickedTreeNode)
    } else {
      self.emit(UuidAction(uuid: self.uuid, action: .open(url: node.url, mode: .default)))
    }
  }

  @IBAction func openInNewTab(_: Any?) {
    guard let node = self.node(from: self.clickedItem) else { return }

    self.emit(UuidAction(uuid: self.uuid, action: .open(url: node.url, mode: .newTab)))
  }

  @IBAction func openInCurrentTab(_: Any?) {
    guard let node = self.node(from: self.clickedItem) else { return }

    self.emit(UuidAction(uuid: self.uuid, action: .open(url: node.url, mode: .currentTab)))
  }

  @IBAction func openInHorizontalSplit(_: Any?) {
    guard let node = self.node(from: self.clickedItem) else { return }

    self.emit(UuidAction(uuid: self.uuid, action: .open(url: node.url, mode: .horizontalSplit)))
  }

  @IBAction func openInVerticalSplit(_: Any?) {
    guard let node = self.node(from: self.clickedItem) else { return }

    self.emit(UuidAction(uuid: self.uuid, action: .open(url: node.url, mode: .verticalSplit)))
  }

  @IBAction func setAsWorkingDirectory(_: Any?) {
    guard let node = self.node(from: self.clickedItem) else { return }

    guard node.url.isDir else { return }

    self.emit(UuidAction(uuid: self.uuid, action: .setAsWorkingDirectory(node.url)))
  }
}

// MARK: - NSOutlineViewDelegate
extension FileOutlineView {

  func outlineView(_ outlineView: NSOutlineView, rowViewForItem item: Any) -> NSTableRowView? {
    let view = self.makeView(
      withIdentifier: NSUserInterfaceItemIdentifier("file-row-view"),
      owner: self
    ) as? ThemedTableRow ?? ThemedTableRow(withIdentifier: "file-row-view", themedView: self)

    return view
  }

  func outlineView(_: NSOutlineView, viewFor tableColumn: NSTableColumn?, item: Any) -> NSView? {
    guard let node = self.node(from: item) else { return nil }

    let cellView = self.makeView(
      withIdentifier: NSUserInterfaceItemIdentifier("file-cell-view"),
