     private var oldControlBarHeight:Number;
     
     /**
+	 *  @private
+	 *  Internal object that contains the thickness of each edge
+	 *  of the border
+	 */
+	protected var _panelBorderMetrics:EdgeMetrics;
+    
+    /**
      *  @private
      *  Return the thickness of the border edges.
      *

     */
    override public function get borderMetrics():EdgeMetrics
    {   
        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0 || getStyle("borderStyle") != "default")
            return super.borderMetrics;
        
        var hasPanelParent:Boolean = isPanel(parent);

        if (!isNaN(newControlBarHeight))
            vm.bottom += newControlBarHeight;
        
        _panelBorderMetrics = vm;
        
        return _panelBorderMetrics;
    }

	/**
	 *  @private
	 *  If borderStyle may have changed, clear the cached border metrics.
	 */
	override public function styleChanged(styleProp:String):void
	{
		super.styleChanged(styleProp);
		
		if (styleProp == null ||
			styleProp == "styleName" ||
			styleProp == "borderStyle" ||
			styleProp == "borderThickness" ||
			styleProp == "borderSides")
		{
			_panelBorderMetrics = null;
		}
		
		invalidateDisplayList();
	}

    /**
     *  @private
