 
     self.handleRemovals(for: fileBrowserItem, new: newChildren)
     self.handleAdditions(for: fileBrowserItem, new: newChildren)
-    self.handleChildren(for: fileBrowserItem, new: newChildren)
+    fileBrowserItem.children.filter { self.isItemExpanded($0) }.forEach(self.update)
   }
 
   fileprivate func fileBrowserItem(with url: URL) -> FileBrowserItem? {

  func outlineView(_: NSOutlineView, numberOfChildrenOfItem item: Any?) -> Int {
    if item == nil {
      if self.root.isChildrenScanned == false {
        self.root.children = sortedChildren(of: self.cwd)
        self.root.isChildrenScanned = true
      }


    self.insertItems(at: IndexSet(indicesToInsert), inParent: parent)
  }

  fileprivate func sortedChildren(of url: URL) -> [FileBrowserItem] {
    return FileUtils.directDescendants(of: url).map(FileBrowserItem.init).sorted()
  }
