      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public static function getConcatenatedMatrix(displayObject:DisplayObject):Matrix
+    public static function getConcatenatedMatrix(displayObject:DisplayObject, excludingRootSprite:Boolean):Matrix
     {
-        return getConcatenatedMatrixHelper(displayObject, false);
+        return getConcatenatedMatrixHelper(displayObject, false, excludingRootSprite);
     }
     
     /**

                uiComponentClass = Class(ApplicationDomain.currentDomain.getDefinition("mx.core.UIComponent"));
        }
        
        if (fakeDollarParent == null)
            fakeDollarParent = new QName(mx_internal, "$parent");
        
        if (useComputedMatrix && computedMatrixProperty == null)
            computedMatrixProperty = new QName(mx_internal, "computedMatrix");
        
        while (displayObject && displayObject.transform.matrix)
        {            
            var scrollRect:Rectangle = displayObject.scrollRect;
            if (scrollRect != null)

     *  @playerversion AIR 1.5
     *  @productversion Flex 4
     */
    public static function getConcatenatedComputedMatrix(displayObject:DisplayObject, excludingRootSprite:Boolean):Matrix
    {
        return getConcatenatedMatrixHelper(displayObject, true, excludingRootSprite);
    }
    
    /**
     *  @private 
     */ 
    private static function getConcatenatedMatrixHelper(displayObject:DisplayObject, useComputedMatrix:Boolean, excludingRootSprite:Boolean):Matrix
    {
        var m:Matrix = new Matrix();
        
