     override protected function updateDisplayList(unscaledWidth:Number, 
                                                   unscaledHeight:Number):void
 	{
-	    if (!displayObject || !(displayObject is Sprite))
+		//trace("StrokedElement.updateDisplayList w",unscaledWidth,"h",unscaledHeight,"drawnDisplayObject",drawnDisplayObject,"this",this);                                                  	
+	    if (!drawnDisplayObject || !(drawnDisplayObject is Sprite))
 	        return;
+	    
+	    if (displayObject is Sprite)
+	       	Sprite(displayObject).graphics.clear();
+	    else if (displayObject is Shape)
+	    	Shape(displayObject).graphics.clear();
 	        
-	    var g:Graphics = (displayObject as Sprite).graphics;
-
-	    // TODO EGeorgie: clearing the graphics needs to be shared when
-	    // the display objects are shared.
-	    g.clear();
+	    var g:Graphics = (drawnDisplayObject as Sprite).graphics;
 
 		beginDraw(g);
 		drawElement(g);

	//  Properties
	//
	//--------------------------------------------------------------------------

	//----------------------------------
	//  alwaysNeedsDisplayObject
	//----------------------------------
	
	private var _alwaysNeedsDisplayObject:Boolean = false;
	
	/*
	 *  Set this to true to force the Graphic Element to create an underlying Shape
	 */
	mx_internal function set alwaysNeedsDisplayObject(value:Boolean):void
	{
		if (value != _alwaysNeedsDisplayObject)
		{
			_alwaysNeedsDisplayObject = value;
			notifyElementLayerChanged();
		}
	}
	
	mx_internal function get alwaysNeedsDisplayObject():Boolean
	{
		return _alwaysNeedsDisplayObject;
	}
	
	// TODO!!! Optimize this so we don't always create a sprite
	protected var needsSprite:Boolean = false;

	//----------------------------------
	//  stroke
	//----------------------------------


package flex.graphics
{
import flash.display.Graphics;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.geom.Rectangle;

import flex.geom.Transform;
import flex.graphics.graphicsClasses.GraphicElement;

import mx.core.mx_internal;
import mx.events.PropertyChangeEvent;
import mx.filters.BaseFilter;
import mx.filters.IBitmapFilter;
import mx.graphics.IStroke;
