 				switch action {
 				case let .insert(new):
 					let indexPath = IndexPath(row: start + new, section: 0)
-					if nodes[new].isSelected {
-						selections.append(indexPath)
-					}
+//					if nodes[new].isSelected {
+//						selections.append(indexPath)
+//					}
 					tableView?.insertRows(at: [indexPath], with: animation)
 				case let .delete(old):
 					tableView?.deleteRows(at: [IndexPath(row: start + old, section: 0)], with: animation)

	}
	
	public func deselectCell(for node: TreeNode, animated: Bool) {
		node._isSelected = false
		guard let index = node.flatIndex else {return}
		let indexPath = IndexPath(row: index, section: 0)
		tableView?.deselectRow(at: indexPath, animated: animated)
	}
	
	public func selectCell(for node: TreeNode, animated: Bool, scrollPosition: UITableViewScrollPosition) {
		node._isSelected = true
		guard let index = node.flatIndex else {return}
		let indexPath = IndexPath(row: index, section: 0)
		tableView?.selectRow(at: indexPath, animated: animated, scrollPosition: scrollPosition)

		flattened.replaceSubrange(range, with: nodes)
		
		let start = range.lowerBound
//		var selections = [IndexPath]()
		
		let animation = UIView.areAnimationsEnabled ? UITableViewRowAnimation.fade : .none
		
