             var token:int = perfUtil.markStart();
         }
 
+		var lastCurrentObject:ILayoutManagerClient = currentObject;
+		
         var obj:ILayoutManagerClient;
         var i:int = 0;
         var done:Boolean = false;

            {
                // trace("LayoutManager calling validateSize() on " + Object(obj));

                obj.validateSize();
                if (!obj.updateCompletePendingFlag)
                {
                    updateCompleteQueue.addObject(obj, obj.nestLevel);
                    obj.updateCompletePendingFlag = true;
                }


                // trace("LayoutManager validateSize: " + Object(obj) + " " + IFlexDisplayObject(obj).measuredWidth + " " + IFlexDisplayObject(obj).measuredHeight);
                

                {
                    // trace("LayoutManager calling validateDisplayList on " + Object(obj) + " " + DisplayObject(obj).width + " " + DisplayObject(obj).height);

					if (obj.nestLevel)
					{
						currentObject = obj;
	                    obj.validateDisplayList();
	                    if (!obj.updateCompletePendingFlag)
	                    {
	                        updateCompleteQueue.addObject(obj, obj.nestLevel);
	                        obj.updateCompletePendingFlag = true;
	                    }
					}
                    // trace("LayoutManager return from validateDisplayList on " + Object(obj) + " " + DisplayObject(obj).width + " " + DisplayObject(obj).height);

                    if (invalidateClientPropertiesFlag)
