             toggleChanged = false;
         }
     }
-
-    /**
-     *  @private 
-     *  Old version of the measure function
-     */
-    private function previousVersion_measure():void
-    {
-        super.measure();
-
-        var textWidth:Number = 0;
-        var textHeight:Number = 0;
-
-        if (label)
-        {
-            var lineMetrics:TextLineMetrics = measureText(label);
-            textWidth = lineMetrics.width;
-            textHeight = lineMetrics.height;
-
-            var paddingLeft:Number = getStyle("paddingLeft");
-            var paddingRight:Number = getStyle("paddingRight");
-            var paddingTop:Number = getStyle("paddingTop");
-            var paddingBottom:Number = getStyle("paddingBottom");
-
-            textWidth += paddingLeft + paddingRight + getStyle("textIndent"); 
-            textHeight += paddingTop + paddingBottom; 
-        }
-
-        // If the current skin defines a borderMetrics property,
-        // then use it; otherwise, use a default value.
-        var bm:EdgeMetrics;
-        try
-        {
-            bm = currentSkin["borderMetrics"];
-        }
-        catch(e:Error)
-        {
-            bm = new EdgeMetrics(3, 3, 3, 3);
-        }
     
-        var tempCurrentIcon:IFlexDisplayObject = getCurrentIcon();  
-        var iconWidth:Number = tempCurrentIcon ? tempCurrentIcon.width : 0;
-        var iconHeight:Number = tempCurrentIcon ? tempCurrentIcon.height : 0;
-
-        var w:Number = 0;
-        var h:Number = 0;
-
-        if (labelPlacement == ButtonLabelPlacement.LEFT ||
-            labelPlacement == ButtonLabelPlacement.RIGHT)
-        {
-            w = textWidth + iconWidth;
-            if (iconWidth != 0)
-            {
-                var horizontalGap:Number = getStyle("horizontalGap");
-                w += (horizontalGap - 2 );
-            }
-            h = Math.max(textHeight, iconHeight + 6);
-        }
-        else
-        {
-            w = Math.max(textWidth, iconWidth);
-            h = textHeight + iconHeight;
-            if (iconHeight != 0)
-                h += getStyle("verticalGap");
-        }
-
-        if (bm)
-        {
-            w += bm.left + bm.right;
-            h += bm.top + bm.bottom
-        }
-
-        // Pad with additional spacing, but only if we have a label.
-        if (label && label.length != 0)
-            w += extraSpacing;
-        else
-            w += 6;
-
-        // Use the larger of the measured sizes and the skin's preferred sizes.
-        // Each skin should override measure() with their measuredWidth
-        // and measuredHeight.
-        if (currentSkin && (isNaN(skinMeasuredWidth) || isNaN(skinMeasuredHeight)))
-        {
-            skinMeasuredWidth = currentSkin.measuredWidth;
-            skinMeasuredHeight = currentSkin.measuredHeight;
-        }
-
-        if (!isNaN(skinMeasuredWidth))
-            w = Math.max(skinMeasuredWidth, w);
-
-        if (!isNaN(skinMeasuredHeight))
-            h = Math.max(skinMeasuredHeight, h);
-
-        measuredMinWidth = measuredWidth = w;
-        measuredMinHeight = measuredHeight = h;
-    }
-    
     /**
      *  @private
      */
     override protected function measure():void
     {
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
-        {
-            previousVersion_measure();
-            return;
-        }
-        
         super.measure();
 
         var textWidth:Number = 0;

                                        unscaledHeight:Number,
                                        offset:Boolean):void
    {
        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
        {
            previousVersion_layoutContents(unscaledWidth, unscaledHeight, offset);
            return;
        }
                
        var labelWidth:Number = 0;
        var labelHeight:Number = 0;


        checkedDefaultSkin = false;
        defaultSkinUsesStates = false;
        
        if (initialized)
        {
            viewSkin();
            invalidateSize();
