         if (!variableColumnWidth)
             fixedColumnWidth = columnWidth;  // may query typicalLayoutElement, elt at index=0
          
-        var contentHeight:Number = llv.minorSize;
+        var justifyHeights:Boolean = verticalAlign == VerticalAlign.JUSTIFY;
+        var eltWidth:Number = NaN;
+        var eltHeight:Number = (justifyHeights) ? Math.max(llv.minMinorSize, targetHeight) : llv.minorSize;  
+        var contentHeight:Number = (justifyHeights) ? Math.max(llv.minMinorSize, targetHeight) : llv.minorSize;
         var containerHeight:Number = Math.max(contentHeight, targetHeight);
         var x:Number = llv.start(startIndex);
         var index:int = startIndex;

            var typicalWidth:Number = typicalElt.getPreferredBoundsWidth();
            var typicalHeight:Number = typicalElt.getPreferredBoundsHeight();
            llv.minorSize = Math.max(llv.minorSize, typicalHeight);
            llv.defaultMajorSize = typicalWidth;      
        }
        if (layoutTarget)
            llv.length = layoutTarget.numElements;        

import mx.events.PropertyChangeEvent;

import spark.components.supportClasses.GroupBase;
import spark.core.NavigationUnit;
import spark.layouts.supportClasses.LayoutBase;
import spark.layouts.supportClasses.LayoutElementHelper;
