             // commit styles to get an accurate measurement
             messageDisplay.commitStyles();
         }
-        
+
         // now size and position the elements, 3 different configurations we care about:
         // 1) label and message
         // 2) label only
         // 3) message only
-        
+
         // label display goes on top
         // message display goes below
-        
+
         var labelWidth:Number = 0;
         var labelHeight:Number = 0;
         var messageWidth:Number = 0;
         var messageHeight:Number = 0;
-        var verticalGap:Number = 0;
-        
+
         if (labelDisplay)
         {
-            verticalGap = 0;
-            
             // handle labelDisplay.  it can only be 1 line
             
             // width of label takes up rest of space

        var iconHeight:Number = 0;
        var decoratorWidth:Number = 0;
        var decoratorHeight:Number = 0;
        
        var paddingLeft:Number = getStyle("paddingLeft");
        var paddingRight:Number = getStyle("paddingRight");
        var paddingTop:Number = getStyle("paddingTop");
        var paddingBottom:Number = getStyle("paddingBottom");
        
        var viewWidth:Number = unscaledWidth - paddingLeft - paddingRight;
        var viewHeight:Number = unscaledHeight - paddingTop - paddingBottom;
        
        // icon is on the left
        if (iconDisplay)
        {
            // set the icon's position and size
            iconDisplayHolder.setLayoutBoundsSize(this.iconWidth, this.iconHeight);
            
            iconWidth = iconDisplayHolder.getLayoutBoundsWidth();
            iconHeight = iconDisplayHolder.getLayoutBoundsHeight();
            
            // paddingLeft for x, paddingTop for y
            iconDisplayHolder.setLayoutBoundsPosition(paddingLeft, paddingTop);
        }
        
        // decorator is aligned next to icon
        if (decoratorDisplay)
        {
            if (decoratorDisplay is IVisualElement)
            {
                var decoratorVisualElement:IVisualElement = IVisualElement(decoratorDisplay);
                decoratorVisualElement.setLayoutBoundsSize(NaN, NaN);
                
                decoratorWidth = decoratorVisualElement.getLayoutBoundsWidth();
                decoratorHeight = decoratorVisualElement.getLayoutBoundsHeight();
                
                // paddingRight from right and center vertically
                decoratorVisualElement.setLayoutBoundsPosition(unscaledWidth - paddingRight - decoratorWidth, (viewHeight - decoratorHeight)/2 + paddingTop);
            }
            else if (decoratorDisplay is IFlexDisplayObject)
            {
                decoratorWidth = IFlexDisplayObject(decoratorDisplay).measuredWidth;
                decoratorHeight = IFlexDisplayObject(decoratorDisplay).measuredHeight;
                
                IFlexDisplayObject(decoratorDisplay).setActualSize(decoratorWidth, decoratorHeight);
                
                // paddingRight from right and center vertically
                IFlexDisplayObject(decoratorDisplay).move(unscaledWidth - paddingRight - decoratorWidth, (viewHeight - decoratorHeight)/2 + paddingTop);
            }
        }

        // Figure out how much space we have for label and message as well as the 

            // displayed lines.
            messageHeight = Math.min(messageHeight, messageDisplay.textHeight + UITextField.TEXT_HEIGHT_PADDING);
            
            // since it's multi-line, no need to truncate
            //if (messageDisplay.isTruncated)
            //    messageDisplay.text = messageText;
            //messageDisplay.truncateToFit();
        }

        // Position the text components now that we know all heights so we can respect verticalAlign style
        if (labelDisplay || messageDisplay)
        {
            var totalHeight:Number = labelHeight + messageHeight + verticalGap;
            var labelComponentsY:Number = Math.round(vAlign * (viewHeight - totalHeight)) + paddingTop;

            if (labelDisplay)
                positionElement(labelDisplay, labelComponentsX, labelComponentsY);

            if (messageDisplay)
                positionElement(messageDisplay, labelComponentsX, labelComponentsY + labelHeight + verticalGap);
        }
    }
    
    //--------------------------------------------------------------------------
