     {
     }          
 
-    /**
-     *  Convenience function for subclasses that invalidates the
-     *  target's size and displayList so that both layout's <code>measure()</code>
-     *  and <code>updateDisplayList</code> methods get called.
-     * 
-     *  <p>Typically a layout invalidates the target's size and display list so that
-     *  it gets a chance to recalculate the target's default size and also size and
-     *  position the target's elements. For example changing the <code>gap</code>
-     *  property on a <code>VerticalLayout</code> will internally call this method
-     *  to ensure that the elements are re-arranged with the new setting and the
-     *  target's default size is recomputed.</p> 
-     * 
-     *  @see #invalidateTargetDisplayList
-     *  @see mx.core.UIComponent#invalidateSize
-     *  @see mx.core.UIComponent#invalidateDisplayList
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    protected function invalidateTargetSizeAndDisplayList():void
-    {
-        var g:GroupBase = target;
-        if (!g)
-            return;
-
-        g.invalidateSize();
-        g.invalidateDisplayList();
-    }
-    
-    /**
-     *  Convenience function for subclasses that invalidates the
-     *  target's displayList so that the layout's <code>updateDisplayList()</code>
-     *  gets called.
-     * 
-     *  <p>Typically a layout invalidates the target's display list so that
-     *  it gets a chance to size and position the target's elements, but doesn't need to
-     *  recompute the target's default size. For example changing the <code>horizontalAlign</code>
-     *  property on a <code>VerticalLayout</code> will internally call this method
-     *  to ensure that the elements are re-arranged with the new setting.
-     *  The <code>horizontalAlign</code> does not affect the target's default size.</p>
-     *
-     *  @see #invalidateTargetSizeAndDisplayList
-     *  @see mx.core.UIComponent#invalidateDisplayList
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    protected function invalidateTargetDisplayList():void
-    {
-        var g:GroupBase = target;
-        if (!g)
-            return;
-
-        g.invalidateDisplayList();
-    }
-    
     /**
      *  This method must is called by the target after a layout element 
      *  has been added and before the target's size and display list are

 *  <p>Subclasses that support virtualization must respect the 
 *  <code>useVirtualLayout</code> property and should only retrieve
 *  layout elements within the scrollRect (the value of
 *  <code>getTargetScrollRect()</code>) using <code>getVirtualElementAt()</code>
 *  from within <code>updateDisplayList()</code>.</p>
 */
public class LayoutBase extends OnDemandEventDispatcher

     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
     public function getScrollPositionDeltaToElement(index:int):Point
     {
        var g:GroupBase = target;
        if (!g || !clipAndEnableScrolling)
