     // store the scaleGrid into a rectangle to save space (top, left, bottom, right);
     private var scaleGridStorageVariable:Rectangle;
 
-	//----------------------------------
+    //----------------------------------
     //  scale9Grid
     //----------------------------------
     

        // the element with the shared displayObject and the next element that has a displayObject.
        if (numGraphicElements > 0)
        {
	        var length:int = numElements;
	        for (var i:int = 0; i < length; i++)
	        {
	            var element:IGraphicElement = getElementAt(i) as IGraphicElement;
	            if (!element)
	               continue;

	            // Do a special check for layer, we may stumble upon an element with layer != 0
	            // before we're done with the current shared sequence and we don't want to mark
	            // the sequence as valid, until we reach the next sequence.   
                if (element.depth == 0)
                {
                    // Is this the start of a new shared sequence?         	
	            	if (element.displayObjectSharingMode != DisplayObjectSharingMode.USES_SHARED_OBJECT)
	            	{
	            	    // We have finished redrawing the previous sequence
	            	    if (sharedDisplayObject)
	            	        sharedDisplayObject.redrawRequested = false;
	            	    
	            	    // Start the new sequence
                        sharedDisplayObject = element.displayObject as ISharedDisplayObject;
	            	}
	            	
	            	if (!sharedDisplayObject || sharedDisplayObject.redrawRequested) 
	            		element.validateDisplayList();
	            }
	            else
	            {
	                // If we have layering, we don't share the display objects.
	                // Don't update the current sharedDisplayObject 
	                var elementDisplayObject:ISharedDisplayObject = element.displayObject as ISharedDisplayObject;
	                if (!elementDisplayObject || elementDisplayObject.redrawRequested)
	                {
	                   element.validateDisplayList();

	                   if (elementDisplayObject)
                           elementDisplayObject.redrawRequested = false;
	                }
	            }
	        }
        }
	        
        // Mark the last shared displayObject valid
        if (sharedDisplayObject)
            sharedDisplayObject.redrawRequested = false;
        
        if (scaleGridChanged)
        {
        	scaleGridChanged = false;
        
        	if (isValidScaleGrid())
        	{
	        	if (numChildren > 0)
	        		throw new Error(resourceManager.getString("components", "scaleGridGroupError"));

	        	super.scale9Grid = new Rectangle(scaleGridLeft, 
	        							   scaleGridTop,	
	        							   scaleGridRight - scaleGridLeft, 
	        							   scaleGridBottom - scaleGridTop);
	        } 
	        else
	        {
	        	super.scale9Grid = null;
	        }							   
        }
    }


     *  @private
     */
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {       
        super.updateDisplayList(unscaledWidth, unscaledHeight);

        // If the DisplayObject assignment is still not completed, then postpone validation
