 	{
 		this.source = source;
 	}
-	public function getSource():Object { return source; }
 	public function equals(other:IWeaveTreeNode):Boolean { return other == this; }
 	public function getLabel():String
 	{

	{
		geomList.children = null;
	}
	public function getSource():Object { return source; }
	public function equals(other:IWeaveTreeNode):Boolean { return other == this; }
	public function getLabel():String
	{

		
		for each (var info:EntityHierarchyInfo in event.result)
		{
			var node:EntityNode = new GeomColumnNode(source.entityCache);
			node.id = info.id;
			children.push(node);
		}
		getCallbackCollection(source).triggerCallbacks();
	}
}

internal class GeomColumnNode extends EntityNode
{
	public function GeomColumnNode(cache:EntityCache)
	{
		super(cache);
	}
	
	override public function getLabel():String
	{
		var title:String = super.getLabel();
		var cache:EntityCache = getEntityCache();
		var entity:Entity = getEntity();
		for each (var parentId:int in entity.parentIds)
		{
			var info:EntityHierarchyInfo = cache.getBranchInfo(parentId);
			if (info && info.title && info.title != title)
				return title + " (" + info.title + ")";
		}
		return title;
	}
}