             }
             shaderFilter = new ShaderFilter(shader);
         }
-            
+        
         super.play();
     }    
     
+    /**
+     * @private
+     * Return a BitmapData for the target object
+     */
     private function getSnapshot(target:Object):BitmapData
     {
         if (target is GraphicElement)


        return _resourceManager;
    }
    
    //--------------------------------------------------------------------------
    //

        // we can replace them when we're done, and then use only our
        // shader filter during the animation.
        oldFilters  = target.filters;
    }

    /**
     * @private
     * Called when animation ends. Restores original filters and disposes of
     * any BitmapData objects we created.
     */
    private function cleanup():void
    {
        target.filters = oldFilters;
        oldFilters = null;
        if (disposeFrom)
            bitmapFrom.dispose();
        if (disposeTo)
            bitmapTo.dispose();
    }
    
    /**
     * @private
     */
    override public function animationEnd(animation:Animation):void
    {
        cleanup();
        super.animationEnd(animation);
    }

    /**
     * @private
     */
    override public function animationStop(animation:Animation):void
    {
        cleanup();
        super.animationStop(animation);
    }

    /**
