         measuredWidth = preferredWidth;
         measuredHeight = preferredHeight;
     }
-    
-    private function previousMeasure():void 
-    {
-        super.measure();
-        
-        var numColumns:int = guessedNumColumns =
-            calcNumColumns(guessedRowWidth);
-
-        var horizontalGap:Number = getStyle("horizontalGap");
-        var verticalGap:Number = getStyle("verticalGap");
-        var indicatorGap:Number = getStyle("indicatorGap");
-
-        var col:int = 0;
-
-        var tempMinWidth:Number = 0;
-        var tempWidth:Number = 0;
-        var tempMinHeight:Number = 0;
-        var tempHeight:Number = 0;
-
-        var minWidth:Number = 0;
-        var minHeight:Number = 0;
-        var preferredWidth:Number = 0;
-        var preferredHeight:Number = 0;
-        var maxPreferredWidth:Number = 0;
-
-        var n:int = numChildren;
-        var i:int;
-        var child:IUIComponent;
-
-        // If direction == FormItemDirection.HORIZONTAL
-        // and the children span multiple rows,
-        // then updateDisplayList() (below) sets each child's width to the
-        // preferredWidth of the largest child.
-        if (direction == FormItemDirection.HORIZONTAL && numColumns < n)
-        {
-            for (i = 0; i < n; i++)
-            {
-                child = getLayoutChildAt(i);
-                maxPreferredWidth = Math.max(
-                    maxPreferredWidth, child.getExplicitOrMeasuredWidth());
-            }
-        }
-
-        for (i = 0; i < n; i++)
-        {
-            child = getLayoutChildAt(i);
-
-            if (col < numColumns)
-            {
-                tempMinWidth += !isNaN(child.percentWidth) ?
-                                child.minWidth :
-                                child.getExplicitOrMeasuredWidth();
-
-                tempWidth += (maxPreferredWidth > 0) ?
-                             maxPreferredWidth :
-                             child.getExplicitOrMeasuredWidth();
-
-                if (col > 0)
-                {
-                    tempMinWidth += horizontalGap;
-                    tempWidth += horizontalGap;
-                }
-
-                tempMinHeight = Math.max(tempMinHeight,
-                                         !isNaN(child.percentHeight) ?
-                                         child.minHeight :
-                                         child.getExplicitOrMeasuredHeight());
-
-                tempHeight = Math.max(tempHeight,
-                                      child.getExplicitOrMeasuredHeight());
-            }
-
-            col++;
-        
-            if (col >= numColumns || i == n - 1)
-            {
-                minWidth = Math.max(minWidth, tempMinWidth);
-                preferredWidth = Math.max(preferredWidth, tempWidth);
-
-                minHeight += tempMinHeight;
-                preferredHeight += tempHeight;
-                
-                if (i > 0)
-                {
-                    minHeight += verticalGap;
-                    preferredHeight += verticalGap;
-                }
-                
-                col = 0;
-
-                tempMinWidth = 0;
-                tempWidth = 0;
-
-                tempMinHeight = 0;
-                tempHeight = 0;
-            }
-        }
-
-        var labelWidth:Number = calculateLabelWidth() + indicatorGap;
-        minWidth += labelWidth;
-        preferredWidth += labelWidth;
-
-        if (label != null && label != "")
-        {
-            minHeight = Math.max(minHeight,
-                                 labelObj.getExplicitOrMeasuredHeight());
-
-            preferredHeight = Math.max(preferredHeight,
-                                       labelObj.getExplicitOrMeasuredHeight());
-        }
-
-        var vm:EdgeMetrics = viewMetricsAndPadding;
-
-        minHeight += vm.top + vm.bottom;
-        minWidth += vm.left + vm.right;
-
-        preferredHeight += vm.top + vm.bottom;
-        preferredWidth += vm.left + vm.right;
-
-        measuredMinWidth = minWidth;
-        measuredMinHeight = minHeight;
-
-        measuredWidth = preferredWidth;
-        measuredHeight = preferredHeight;
-    }
 
     /**
      *  Responds to size changes by setting the positions and sizes

import mx.controls.Label;
import mx.core.Container;
import mx.core.EdgeMetrics;
import mx.core.FlexVersion;
import mx.core.IFlexDisplayObject;
import mx.core.IUIComponent;
import mx.core.mx_internal;

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

        if (direction == FormItemDirection.VERTICAL)
