 	public var base: Any {
 		return box.unbox()
 	}
+	
 }
 
 public protocol TreeControllerDelegate {

	}
	
	public init<T: TreeItem>(_ base: T) {
		self.box = ConcreteTreeItemBox(base: base)
//		self.hashValue = base.hashValue
//		self.diffIdentifier = base.diffIdentifier
	}
	
	public static func == (lhs: AnyTreeItem, rhs: AnyTreeItem) -> Bool {

	open func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
		let item = flattened![indexPath.section][indexPath.item]
		item.box.treeControllerDidDeselectRow(self)
//		handleRowSelection(for: item, at: indexPath)
	}
	
	open func tableView(_ tableView: UITableView, indentationLevelForRowAt indexPath: IndexPath) -> Int {
