 			}
 			return columnWrapper as DynamicColumn;
 		}
+		
+		public static function hack_findHierarchyNode(columnWrapper:IColumnWrapper):IWeaveTreeNode
+		{
+			var dc:DynamicColumn = hack_findInternalDynamicColumn(columnWrapper);
+			if (!dc)
+				return null;
+			var rc:ReferencedColumn = dc.target as ReferencedColumn;
+			return rc ? rc.getHierarchyNode() : null;
+		}
 
 		/**
 		 * Gets an array of QKey objects from <code>column</code> which meet the criteria

	import weavejs.api.data.IKeySet;
	import weavejs.api.data.IPrimitiveColumn;
	import weavejs.api.data.IQualifiedKey;
	import weavejs.data.column.DynamicColumn;
	import weavejs.data.column.ExtendedDynamicColumn;
	import weavejs.data.column.ReferencedColumn;

	import weavejs.geom.Point;
	import weavejs.util.ArrayUtils;
	import weavejs.util.JS;
	import weavejs.util.StandardLib;
	
	/**
	 * This class contains static functions that access values from IAttributeColumn objects.
