 
     self.handleRemovals(for: fileBrowserItem, new: newChildren)
     self.handleAdditions(for: fileBrowserItem, new: newChildren)
+    fileBrowserItem.isChildrenScanned = true
+
     fileBrowserItem.children.filter { self.isItemExpanded($0) }.forEach(self.update)
   }
 

    var stack = [self.root]

    while let item = stack.popLast() {
      if item.isChildrenScanned == false {
        item.children = FileUtils.directDescendants(of: item.url).map(FileBrowserItem.init)
        item.isChildrenScanned = true
      }

      itemsToExpand.append(item)

      if item.url.isDirectParent(of: url) {

    }

    if fileBrowserItem.url.isDir {
      self.scanChildrenIfNecessary(fileBrowserItem)
      return self.prepare(fileBrowserItem.children).count
    }

