         ResourceManager.getInstance();
     
     // Arrays that keep track of children spanning
-    // content size columns or rows or whether the elements don't
-    // use columns or rows at all
+    // content size columns or rows or whether the 
+    // elements don't use columns or rows at all.
     private var colSpanElements:Vector.<ElementConstraintInfo> = null;
     private var rowSpanElements:Vector.<ElementConstraintInfo> = null;
     private var otherElements:Vector.<ElementConstraintInfo> = null;
     
-    private var constraintCache:Dictionary = new Dictionary(true);
+    private var constraintCache:Dictionary = null;
     
     //--------------------------------------------------------------------------
     //

                minWidth = Math.max(minWidth, extX + elementMinWidth);
            }
            
            // only measure if not constrained to rows.
            var hasTopOrBottom:Boolean = !(elementInfo.topBoundary || elementInfo.bottomBoundary);
            var hasBaseline:Boolean = !elementInfo.baselineBoundary;
            

    
    private var _constraintRows:Vector.<ConstraintRow> = new Vector.<ConstraintRow>(0, true);
    
    /**
     *  A Vector of ConstraintRow instances that partition the target container.
     *  The ConstraintRow instance at index 0 is the top-most column;
     *  indices increase from top to bottom. 
     */
    public function get constraintRows():Vector.<ConstraintRow> 
    {
        return Vector.<ConstraintRow>(_constraintRows);
    }
    
    /**
     *  @private
     */
    public function set constraintRows(value:Vector.<ConstraintRow>):void
    {
        // clear constraintRows
