         var g:GroupBase = target;
         if (!g)
             return 0;     
-   
+
         var maxIndex:int = g.numLayoutItems -1;
         if (maxIndex < 0)
             return 0;

		var g:GroupBase = GroupBase(target);
	    if (!g)
	        return 0.0;
	        
        var li:ILayoutItem = g.getLayoutItemAt(index);
        if ((li == null) || !li.includeInLayout)

        if (!scrollR)
            return 0;
            
        var itemR:Rectangle = null;
        switch(unit)
        {
            case Keyboard.UP:
            case Keyboard.PAGE_UP:
                itemR = findLayoutItemBounds(g, firstIndexInView, -1, scrollR);
                break;

            case Keyboard.DOWN:
            case Keyboard.PAGE_DOWN:
                itemR = findLayoutItemBounds(g, lastIndexInView, +1, scrollR);
                break;

            default:
                return super.verticalScrollPositionDelta(unit);
        }
        
        if (!itemR)
            return 0;
            
        var delta:Number = 0;            
        switch (unit)
        {
            case Keyboard.UP:
                delta = Math.max(-scrollR.height, itemR.top - scrollR.top);
                break;
                
            case Keyboard.DOWN:
                delta = Math.min(scrollR.height, itemR.bottom - scrollR.bottom);
                break;
                
            case Keyboard.PAGE_UP:
                if ((itemR.top < scrollR.top) && (itemR.bottom >= scrollR.bottom))
                    delta = Math.max(-scrollR.height, itemR.top - scrollR.top);
                else
                    delta = itemR.bottom - scrollR.bottom;
                break;

            case Keyboard.PAGE_DOWN:
                if ((itemR.top <= scrollR.top) && (itemR.bottom > scrollR.bottom))
                    delta = Math.min(scrollR.height, itemR.bottom - scrollR.bottom);
                else
                    delta = itemR.top - scrollR.top;
                break;
        }

        var maxDelta:Number = g.contentHeight - scrollR.height - scrollR.y;
        var minDelta:Number = -scrollR.y;
        return Math.min(maxDelta, Math.max(minDelta, delta));
    }     
        
    private function variableRowHeightMeasure(layoutTarget:GroupBase):void
