     {
         super();
     }
-    
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
-    
-    static private var _strokeExtents:Point = new Point();
     
     //--------------------------------------------------------------------------
     //

    /**
     *  @private
     */  
    override protected function getStrokeExtents(postLayoutTransform:Boolean = true):Point
    {
        // FIXME (egeorgie): currently we take only scale into account,
        // but depending on joint style, cap style, etc. we need to take
        // the whole matrix into account as well as examine every line segment...

        if (!stroke)
        {
            _strokeExtents.x = 0;
            _strokeExtents.y = 0;
            return _strokeExtents;
        }


        var weight:Number = stroke.weight;
        if (weight == 0)
        {
            _strokeExtents.width  = 1;
            _strokeExtents.height = 1;
			_strokeExtents.x      = -0.5;
			_strokeExtents.y      = -0.5;
            return _strokeExtents;
        }

        var scaleMode:String = stroke.scaleMode;
        if (!scaleMode || scaleMode == LineScaleMode.NONE || !postLayoutTransform)
        {
            _strokeExtents.width  = weight;
            _strokeExtents.height = weight;
			_strokeExtents.x = -weight * 0.5;
			_strokeExtents.y = -weight * 0.5;
            return _strokeExtents;
        }

        var sX:Number = scaleX;
        var sY:Number = scaleY;

        // TODO (egeorgie): stroke thickness depends on all matrix components,
        // not only on scale.
        if (scaleMode == LineScaleMode.NORMAL)
        {
