             return _rootNode;
         }
 
-        override public function findHierarchyNode(metadata:Object):IWeaveTreeNode
-        {
-            return null;
-        }
 
 
         override public function getAttributeColumn(metadata:Object):IAttributeColumn

    
    public function getColumnMetadata():Object 
    {
        var metadata:Object = {
            column: columnName,
            filterValue: layer.filterValue,
            group: layer.group.group,
            filterColumn: layer.group.filterColumn
        };

        return metadata;
    }


        override protected function generateHierarchyNode(metadata:Object):IWeaveTreeNode
        {
            var graphNode:GraphMLGraphNode;
            var groupNode:GraphMLGroupNode;
            var layerNode:GraphMLLayerNode;
            var columnNode:GraphMLColumnNode;

            graphNode = new GraphMLGraphNode(this);
            
            if (metadata[GROUP_META] === undefined)
                return graphNode;

            groupNode = new GraphMLGroupNode(graphNode, metadata[GROUP_META],  metadata[FILTERCOLUMN_META]);

            if (metadata[FILTERVALUE_META] === undefined)
                return groupNode; 

            layerNode = new GraphMLLayerNode(groupNode, metadata[FILTERVALUE_META]);

            if (metadata[COLUMNNAME_META] === undefined)
                return layerNode;

            columnNode = new GraphMLColumnNode(layerNode, metadata[COLUMNNAME_META]);

            return columnNode;
            
        }

        

        override protected function requestHierarchyFromSource(subtreeNode:XML = null):void 
        {
            // do nothing, as the hierarchy is known ahead of time much like CSVDataSource
            return;
        }
        override protected function requestColumnFromSource(proxyColumn:ProxyColumn):void 
        {
            var metadata:Object = proxyColumn.getProxyMetadata();
        }
        
        /* Implements from IDataSource */
