 	//
 	//--------------------------------------------------------------------------
 
+    private static var resizeEffectType:Class;
+    private static var resizeEffectLoaded:Boolean = false;
 	/**
 	 *  @private
 	 */

package mx.effects.effectClasses
{
import flash.events.TimerEvent;
import flash.utils.Timer;

import mx.core.UIComponent;
import mx.core.mx_internal;
import mx.effects.EffectInstance;

		{
			var compChild:CompositeEffectInstance = childSet[0] as CompositeEffectInstance;
			
            // Resize effects must run before Move effects for autoCenterTransform to 
            // work correctly
            if (!resizeEffectLoaded)
            {
                resizeEffectLoaded = true;
                if (ApplicationDomain.currentDomain.hasDefinition("spark.effects.supportClasses.ResizeInstance"))
                    resizeEffectType = Class(ApplicationDomain.currentDomain.
                        getDefinition("spark.effects.supportClasses.ResizeInstance"));
            }
            if (resizeEffectType && (childSet[0] is resizeEffectType ||
                (compChild != null && compChild.hasResizeInstance())))
            {
                // Remove item we just added to the end and place it at the beginning
                childSets.unshift(childSets.pop());
            }
			// Check if the child is a Rotate and also check if it is a composite effect that has a Rotate
            else if (childSet[0] is RotateInstance || (compChild != null && compChild.hasRotateInstance()))
			{
                // Remove item we just added to the end and place it at the beginning
                childSets.unshift(childSets.pop());
			}
		}
	}
