                         colsMaxWidth[k] = Math.max(colsMaxWidth[k], cols[k]);
                     }
                     
-                    //formItem.constraintColumns = constraintColumns;
                 }
             }
             
-            columnMaxWidths = colsMaxWidth.slice(0);
+            var columnMaxWidths:Vector.<Number> = colsMaxWidth.slice(0);
             
             for(i = 0; i < nElts; i++)
             {

     */
    public class FormLayout extends VerticalLayout
    {
                
        public function FormLayout()
        {
            super();
        }
        
        private var columnMaxWidths:Vector.<Number>;
        
        //----------------------------------
        //  constraintColumns
        //----------------------------------
        
        private var _constraintColumns:Array;
        private var constraintColumnsChanged:Boolean = false;
        
        [Bindable("constraintColumnsChanged")]
        [Inspectable(category="General", defaultValue="")]
        
        /**
         * 
         *  
         *  @langversion 3.0
         *  @playerversion Flash 10
         *  @playerversion AIR 1.5
         *  @productversion Flex 3
         */
        public function get constraintColumns():Array
        {
            return _constraintColumns;
        }
        
        /**
         *  @private
         */
        public function set constraintColumns(value:Array):void
        {
            if (_constraintColumns == value)
                return;
            
            _constraintColumns = value;
            constraintColumnsChanged = true;
            invalidateTargetSizeAndDisplayList();
        }
        
        /**
         *  @private
         *  If the style's value is undefined or NaN for the layout target, return 0.
         */
        private static function getStyleNumericValue(c:UIComponent, styleName:String):Number
        {
            const n:Number =  Number(c.getStyle(styleName));  // Number(undefined) => NaN
            return (isNaN(n)) ? 0 : n;
        }
        
        private function invalidateTargetSizeAndDisplayList():void
        {
            var g:GroupBase = target;
            if (!g)
                return;
            
            g.invalidateSize();
            g.invalidateDisplayList();
        }
        
        /**
         *  @private
         *  The layoutTarget is assumed to be the contentGroup, it's owner is the skin,
         *  and the skin's hostComponent is the Form.
         */
        /*private static function getForm(layoutTarget:GroupBase):Form
        {
            const skin:Skin = layoutTarget.owner as Skin;
            return (skin) ? Object(skin).hostComponent as Form : null;
            
        }*/
        
        /**
         *  @private

        {
            
            var colsMaxWidth:Vector.<Number>;
                        
            // Apply constraint columns before measuring
            const layoutTarget:GroupBase = target;
            if (!layoutTarget)
