 	}
 	
 }
+
+extension UITableViewCell {
+	
+	@objc func willDisplay() {
+	}
+	
+	@objc func didEndDisplaying() {
+	}
+}

			batchUpdatesCounter -= 1
		}
	}
}

@objc public protocol TreeControllerDelegate: UIScrollViewDelegate {

	public func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
		let node = flattened[indexPath.row]
		node.estimatedHeight = cell.bounds.size.height
		node.willDisplay(cell: cell)
		cell.willDisplay()
	}
	
	public func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
		let node = flattened[indexPath.row]
		node.didEndDisplaying(cell: cell)
		cell.didEndDisplaying()
	}
	
	//MARK: - UIScrollViewDelegate
