 
         invalidateSize();
         invalidateParentSizeAndDisplayList();
-	}
-
-	//----------------------------------
-	//  filters
-	//----------------------------------
-	
-	/**
+    }
+
+    //----------------------------------
+    //  filters
+    //----------------------------------
+    
+    /**
      *  @private
      *  Storage for the filters property.
      */
-	private var _filters:Array = [];
-	
-	/**
+    private var _filters:Array = [];
+    
+    /**
      *  @private
      */
     private var filtersChanged:Boolean;
 
-	/**
+    /**
      *  @private
      */
     private var _clonedFilters:Array;
-	
-    [Bindable("propertyChange")]
-	[Inspectable(category="General")]
-
- 	/**
-     *  Documentation is not currently available.
-     */
-	public function get filters():Array
-	{
-		return _filters;
-	}
-
-	/**
-	 *  @private
-	 */
-	public function set filters(value:Array):void
-	{
-		var i:int = 0;
-		var oldFilters:Array = _filters ? _filters.slice() : null;
-		var len:int = oldFilters ? oldFilters.length : 0;
-		var edFilter:EventDispatcher;
-
-		for (i = 0; i < len; i++)
-		{
-			if (oldFilters[i] is IBitmapFilter)
-			{
-				edFilter = value[i] as EventDispatcher;
-				if (edFilter)
+    
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+
+    /**
+     *  Documentation is not currently available.
+     */
+    public function get filters():Array
+    {
+        return _filters;
+    }
+
+    /**
+     *  @private
+     */
+    public function set filters(value:Array):void
+    {
+        var i:int = 0;
+        var oldFilters:Array = _filters ? _filters.slice() : null;
+        var len:int = oldFilters ? oldFilters.length : 0;
+        var edFilter:EventDispatcher;
+
+        for (i = 0; i < len; i++)
+        {
+            if (oldFilters[i] is IBitmapFilter)
+            {
+                edFilter = value[i] as EventDispatcher;
+                if (edFilter)
                 {
-					edFilter.removeEventListener(BaseFilter.FILTER_CHANGED_TYPE,
+                    edFilter.removeEventListener(BaseFilter.FILTER_CHANGED_TYPE,
                                                  filterChangedHandler);
                 }
-			}
-		}
-
-		_clonedFilters = [];
-		_filters = value;
-		len = value.length;
-
-		for (i = 0; i < len; i++)
-		{
-			if (value[i] is IBitmapFilter)
-			{
-				edFilter = value[i] as EventDispatcher;
-				if (edFilter)
+            }
+        }
+
+        _clonedFilters = [];
+        _filters = value;
+        len = value.length;
+
+        for (i = 0; i < len; i++)
+        {
+            if (value[i] is IBitmapFilter)
+            {
+                edFilter = value[i] as EventDispatcher;
+                if (edFilter)
                 {
-					edFilter.addEventListener(BaseFilter.FILTER_CHANGED_TYPE,
+                    edFilter.addEventListener(BaseFilter.FILTER_CHANGED_TYPE,
                                               filterChangedHandler);
                 }
-				_clonedFilters.push(IBitmapFilter(value[i]).clone());
-			}
-			else
+                _clonedFilters.push(IBitmapFilter(value[i]).clone());
+            }
+            else
             {
-				_clonedFilters.push(value[i]);
+                _clonedFilters.push(value[i]);
             }
-		}
-
-		dispatchPropertyChangeEvent("filters", oldFilters, _filters);
-
-		filtersChanged = true;
-		notifyElementLayerChanged();
-		invalidateProperties();
-	}
-
-	//----------------------------------
-	//  height
-	//----------------------------------
-	
-	/**
+        }
+
+        dispatchPropertyChangeEvent("filters", oldFilters, _filters);
+
+        filtersChanged = true;
+        notifyElementLayerChanged();
+        invalidateProperties();
+    }
+
+    //----------------------------------
+    //  height
+    //----------------------------------
+    
+    /**
      *  @private
      *  Storage for the height property.
      */
     mx_internal var _height:Number = 0;
 
-	[Bindable("propertyChange")]
-	[Inspectable(category="General")]
-
-	/**
-	 *  The height of the graphic element.
-	 *
-	 *  @default 0
-	 */
-	public function get height():Number
-	{
-		return _height;
-	}
-
-	/**
-     *  @private
-     */
-	public function set height(value:Number):void
-	{
-		explicitHeight = value;
-
-		if (_height == value)
-		    return;
-
-		var oldValue:Number = _height;
-		_height = value;
-		dispatchPropertyChangeEvent("height", oldValue, value);
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+
+    /**
+     *  The height of the graphic element.
+     *
+     *  @default 0
+     */
+    public function get height():Number
+    {
+        return _height;
+    }
+
+    /**
+     *  @private
+     */
+    public function set height(value:Number):void
+    {
+        explicitHeight = value;
+
+        if (_height == value)
+            return;
+
+        var oldValue:Number = _height;
+        _height = value;
+        dispatchPropertyChangeEvent("height", oldValue, value);
 
         // Invalidate the display list, since we're changing the actual width
         // and we're not going to correctly detect whether the layout sets
         // new actual width different from our previous value.
         // TODO EGeorgie: is this worth optimizing?
-		invalidateDisplayList();
-	}
-
-	//----------------------------------
-	//  horizontalCenter
-	//----------------------------------
-	
-	/**
+        invalidateDisplayList();
+    }
+
+    //----------------------------------
+    //  horizontalCenter
+    //----------------------------------
+    
+    /**
      *  @private
      *  Storage for the horizontalCenter property.
      */
     private var _horizontalCenter:Number;
 
-	[Bindable("propertyChange")]
-	[Inspectable(category="General")]
-	
- 	/**
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+    
+    /**
      *  Documentation is not currently available.
      */
     public function get horizontalCenter():Number
-	{
-		return _horizontalCenter;
-	}
-
-	/**
-     *  @private
-     */
-	public function set horizontalCenter(value:Number):void
-	{
-		if (_horizontalCenter == value)
-		    return;
-
-		var oldValue:Number = _horizontalCenter;
-		_horizontalCenter = value;
-		dispatchPropertyChangeEvent("horizontalCenter", oldValue, value);
-
-		invalidateParentSizeAndDisplayList();
-	}
-
-	//----------------------------------
-	//  left
-	//----------------------------------
-	
-	/**
+    {
+        return _horizontalCenter;
+    }
+
+    /**
+     *  @private
+     */
+    public function set horizontalCenter(value:Number):void
+    {
+        if (_horizontalCenter == value)
+            return;
+
+        var oldValue:Number = _horizontalCenter;
+        _horizontalCenter = value;
+        dispatchPropertyChangeEvent("horizontalCenter", oldValue, value);
+
+        invalidateParentSizeAndDisplayList();
+    }
+
+    //----------------------------------
+    //  left
+    //----------------------------------
+    
+    /**
      *  @private
      *  Storage for the left property.
      */
     private var _left:Number;
 
-	[Bindable("propertyChange")]
-	[Inspectable(category="General")]
-	
- 	/**
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+    
+    /**
      *  Documentation is not currently available.
      */
     public function get left():Number
-	{
-		return _left;
-	}
-
-	/**
-     *  @private
-     */
-	public function set left(value:Number):void
-	{
-		if (_left == value)
-		    return;
-
-		var oldValue:Number = _left;
-		_left = value;
-		dispatchPropertyChangeEvent("left", oldValue, value);
-
-		invalidateParentSizeAndDisplayList();
-	}
-
-	//----------------------------------
-	//  mask
-	//----------------------------------
-
-	/**
+    {
+        return _left;
+    }
+
+    /**
+     *  @private
+     */
+    public function set left(value:Number):void
+    {
+        if (_left == value)
+            return;
+
+        var oldValue:Number = _left;
+        _left = value;
+        dispatchPropertyChangeEvent("left", oldValue, value);
+
+        invalidateParentSizeAndDisplayList();
+    }
+
+    //----------------------------------
+    //  mask
+    //----------------------------------
+
+    /**
      *  @private
      *  Storage for the mask property.
      */
-	private var _mask:DisplayObject;
-	
-	/**
+    private var _mask:DisplayObject;
+    
+    /**
      *  @private
      */
     private var maskChanged:Boolean;
 
-	/**
+    /**
      *  @private
      */
     private var previousMask:DisplayObject;
-	
-	[Bindable("propertyChange")]
-	[Inspectable(category="General")]
-
- 	/**
-     *  Documentation is not currently available.
-     */
-	public function get mask():DisplayObject
-	{
-		return _mask;
-	}
-
-	/**
-     *  @private
-     */
-	public function set mask(value:DisplayObject):void
-	{
-		if (_mask == value)
-		    return;
-
-		var oldValue:DisplayObject = _mask;
-		previousMask = _mask;
-		_mask = value;
-		dispatchPropertyChangeEvent("mask", oldValue, value);
-		maskChanged = true;
-		maskTypeChanged = true;
-		isMaskInElementSpace = false;
-		notifyElementLayerChanged();
-		invalidateProperties();
-	}
-
-	//----------------------------------
-	//  maskType
-	//----------------------------------
-	
-	/**
+    
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+
+    /**
+     *  Documentation is not currently available.
+     */
+    public function get mask():DisplayObject
+    {
+        return _mask;
+    }
+
+    /**
+     *  @private
+     */
+    public function set mask(value:DisplayObject):void
+    {
+        if (_mask == value)
+            return;
+
+        var oldValue:DisplayObject = _mask;
+        previousMask = _mask;
+        _mask = value;
+        dispatchPropertyChangeEvent("mask", oldValue, value);
+        maskChanged = true;
+        maskTypeChanged = true;
+        isMaskInElementSpace = false;
+        notifyElementLayerChanged();
+        invalidateProperties();
+    }
+
+    //----------------------------------
+    //  maskType
+    //----------------------------------
+    
+    /**
      *  @private
      *  Storage for the maskType property.
      */
     private var _maskType:String = MaskType.CLIP;
-	
-	/**
+    
+    /**
      *  @private
      */
     private var maskTypeChanged:Boolean;
 
-	[Bindable("propertyChange")]
-	[Inspectable(category="General",enumeration="clip,alpha", defaultValue="clip")]
-	
- 	/**
+    [Bindable("propertyChange")]
+    [Inspectable(category="General",enumeration="clip,alpha", defaultValue="clip")]
+    
+    /**
      *  Documentation is not currently available.
      */
     public function get maskType():String
-	{
-		return _maskType;
-	}
-
-	/**
-     *  @private
-     */
-	public function set maskType(value:String):void
-	{
-		if (_maskType == value)
-		    return;
-
-		var oldValue:String = _maskType;
-		_maskType = value;
-		dispatchPropertyChangeEvent("maskType", oldValue, value);
-
-		maskTypeChanged = true;
-		invalidateProperties();
-	}
-
-	//----------------------------------
-	//  maxHeight
-	//----------------------------------
-	
-	/**
+    {
+        return _maskType;
+    }
+
+    /**
+     *  @private
+     */
+    public function set maskType(value:String):void
+    {
+        if (_maskType == value)
+            return;
+
+        var oldValue:String = _maskType;
+        _maskType = value;
+        dispatchPropertyChangeEvent("maskType", oldValue, value);
+
+        maskTypeChanged = true;
+        invalidateProperties();
+    }
+
+    //----------------------------------
+    //  maxHeight
+    //----------------------------------
+    
+    /**
      *  @private
      *  Storage for the maxHeight property.
      */
     private var _maxHeight:Number;
 
-	[Bindable("propertyChange")]
-	[Inspectable(category="General")]
-	
- 	/**
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+    
+    /**
      *  Documentation is not currently available.
      */
     public function get maxHeight():Number
-	{
-		// TODO!!! Examine this logic, Make this arbitrarily large (use UIComponent max)
-		return !isNaN(_maxHeight) ? _maxHeight : DEFAULT_MAX_HEIGHT;
-	}
-
-	/**
-     *  @private
-     */
-	public function set maxHeight(value:Number):void
-	{
-		if (_maxHeight == value)
-		    return;
-
-		var oldValue:Number = _maxHeight;
-		_maxHeight = value;
-		dispatchPropertyChangeEvent("maxHeight", oldValue, value);
-
-		invalidateSize();
+    {
+        // TODO!!! Examine this logic, Make this arbitrarily large (use UIComponent max)
+        return !isNaN(_maxHeight) ? _maxHeight : DEFAULT_MAX_HEIGHT;
+    }
+
+    /**
+     *  @private
+     */
+    public function set maxHeight(value:Number):void
+    {
+        if (_maxHeight == value)
+            return;
+
+        var oldValue:Number = _maxHeight;
+        _maxHeight = value;
+        dispatchPropertyChangeEvent("maxHeight", oldValue, value);
+
+        invalidateSize();
         invalidateParentSizeAndDisplayList();
-	}
-
-	//----------------------------------
-	//  maxWidth
-	//----------------------------------
-	
-	/**
+    }
+
+    //----------------------------------
+    //  maxWidth
+    //----------------------------------
+    
+    /**
      *  @private
      *  Storage for the maxHeight property.
      */
     private var _maxWidth:Number;
 
-	[Bindable("propertyChange")]
-	[Inspectable(category="General")]
-	
-  	/**
+    [Bindable("propertyChange")]
+    [Inspectable(category="General")]
+    
+    /**
      *  Documentation is not currently available.
      */
     public function get maxWidth():Number
-	{
-		// TODO!!! Examine this logic, Make this arbitrarily large (use UIComponent max)
-		return !isNaN(_maxWidth) ? _maxWidth : DEFAULT_MAX_WIDTH;
-	}
-
-	/**
-     *  @private
-     */
-	public function set maxWidth(value:Number):void
-	{
-		if (_maxWidth == value)
-		    return;
+    {
+        // TODO!!! Examine this logic, Make this arbitrarily large (use UIComponent max)
+        return !isNaN(_maxWidth) ? _maxWidth : DEFAULT_MAX_WIDTH;
+    }
+
+    /**
+     *  @private
+     */
+    public function set maxWidth(value:Number):void
+    {
+        if (_maxWidth == value)
+            return;
 
         var oldValue:Number = _maxWidth;
-		_maxWidth = value;
-		dispatchPropertyChangeEvent("maxWidth", oldValue, value);
-
-		invalidateSize();
+        _maxWidth = value;
+        dispatchPropertyChangeEvent("maxWidth", oldValue, value);
+
+        invalidateSize();
         invalidateParentSizeAndDisplayList();
-	}
-
-	//----------------------------------
-	//  measuredHeight
-	//----------------------------------
-    
-	/**
+    }
+
+    //----------------------------------
+    //  measuredHeight
+    //----------------------------------
+    
+    /**
      *  @private
      *  Storage for the measuredHeight property.
      */
     private var _measuredHeight:Number = 0;
     
- 	/**
+    /**
      *  Documentation is not currently available.
      */
     public function get measuredHeight():Number

     */
    mx_internal var invalidateDisplayListFlag:Boolean = false;

	//--------------------------------------------------------------------------
	//
	//  Properties: IGraphicElement
	//
	//--------------------------------------------------------------------------

	//----------------------------------
	//  alpha
	//----------------------------------
	
	/**
     *  @private
     *  Storage for the alpha property.
     */
    private var _alpha:Number = 1.0;
	
	/**
     *  @private
     */
    private var alphaChanged:Boolean = false;

	[Bindable("propertyChange")]
	[Inspectable(category="General")]

 	/**
     *  Documentation is not currently available.
     */
	public function get alpha():Number
	{
		return _alpha;
	}

	/**
     *  @private
     */
	public function set alpha(value:Number):void
	{
		if (_alpha == value)
		    return;

		var oldValue:Number = _alpha;
		_alpha = value;
		dispatchPropertyChangeEvent("alpha", oldValue, value);

		alphaChanged = true;
		notifyElementLayerChanged();
		invalidateProperties();
	}

	//----------------------------------
	//  baseline
	//----------------------------------
	
	/**
     *  @private
     *  Storage for the baseline property.
     */
    private var _baseline:Number;

	[Bindable("propertyChange")]
	[Inspectable(category="General")]
	
 	/**
     *  Documentation is not currently available.
     */
    public function get baseline():Number
	{
		return _baseline;
	}

	/**
     *  @private
     */
	public function set baseline(value:Number):void
	{
		if (_baseline == value)
		    return;

		var oldValue:Number = _baseline;
		_baseline = value;
		dispatchPropertyChangeEvent("baseline", oldValue, value);

		invalidateParentSizeAndDisplayList();
	}

	//----------------------------------
	//  blendMode
	//----------------------------------
	
	/**
     *  @private
     *  Storage for the blendMode property.
     */
    private var _blendMode:String = BlendMode.NORMAL;
	
	/**
     *  @private
     */
    private var blendModeChanged:Boolean;

	[Bindable("propertyChange")]
	[Inspectable(category="General")]

 	/**
     *  Documentation is not currently available.
     */
	public function get blendMode():String
	{
		return _blendMode;
	}

	/**
     *  @private
     */
	public function set blendMode(value:String):void
	{
		if (_blendMode == value)
		    return;

		var oldValue:String = _blendMode;
		_blendMode = value;
		dispatchPropertyChangeEvent("blendMode", oldValue, value);

		blendModeChanged = true;
		notifyElementLayerChanged();
        invalidateProperties();
	}

	//----------------------------------
	//  bottom
	//----------------------------------
	
	/**
     *  @private
     *  Storage for the blendMode property.
     */
    private var _bottom:Number;

	[Bindable("propertyChange")]
	[Inspectable(category="General")]
	
 	/**
     *  Documentation is not currently available.
     */
    public function get bottom():Number
	{
		return _bottom;
	}

	/**
     *  @private
     */
	public function set bottom(value:Number):void
	{
		if (_bottom == value)
		    return;

		var oldValue:Number = _bottom;
		_bottom = value;
		dispatchPropertyChangeEvent("bottom", oldValue, value);

		invalidateParentSizeAndDisplayList();
	}

	//----------------------------------
	//  elementHost
	//----------------------------------
	
	/**
     *  @private
     *  Storage for the elementHost property.
     */
    protected var _host:IGraphicElementHost;

	/**
	 *  The host of this element.
     *  This is the Group or Graphic tag that contains this element.
	 */
	public function get elementHost():IGraphicElementHost
	{
		return _host;
	}

	/**
     *  @private
     */
	public function set elementHost(value:IGraphicElementHost):void
	{
		if (_host !== value)
		{
			_host = value;
			/* if (_mask)
				_host.addMaskElement(_mask); */
		}
	}

	//----------------------------------
	//  explicitHeight
	//----------------------------------
	
	/**
     *  @private
     *  Storage for the explicitHeight property.
     */
    private var _explicitHeight:Number;

	[Bindable("propertyChange")]
	[Inspectable(category="General")]

 	/**
     *  Documentation is not currently available.
     */
	public function get explicitHeight():Number
	{
        return _explicitHeight;
	}

	/**
     *  @private
     */
	public function set explicitHeight(value:Number):void
	{
	    if (_explicitHeight == value)
	        return;

        // height can be pixel or percent, not both
        if (!isNaN(value))

    {
        var strokeExtents:Point = getStrokeExtents();

        // Calculate the width and height pre-transform:
        var m:Matrix = computeMatrix(true /*actualMatrix*/);
        if (!m)
        {
            if (isNaN(width))
                width = preferredSize.x;
            if (isNaN(height))
                height = preferredSize.y;

            // Account for stroke
            width -= strokeExtents.x;
