 
 package spark.effects.supportClasses
 {
+import flash.display.DisplayObject;
 import flash.events.TimerEvent;
 import flash.utils.Timer;
 

            {
                var parentStart:* = propertyChanges.start["parent"];
                var parentEnd:* = propertyChanges.end["parent"];
                if (parentStart && !parentEnd && parentStart is IVisualElementContainer)
                {
                    var startContainer:IVisualElementContainer = 
                        IVisualElementContainer(parentStart);
                    var startIndex:* = propertyChanges.start["index"];
                    if (startIndex !== undefined && startIndex <= startContainer.numElements)
                        startContainer.addElementAt(
                            target as IVisualElement, int(startIndex));
                    else
                        startContainer.addElement(
                            target as IVisualElement);
                    // GraphicElements may delay parenting their underlying displayObject until
                    // a layout pass, so let's force it to make sure we're ready to go
                    // FIXME (chaase): this should probably happen as a part of applyStartValues()

import mx.core.mx_internal;
import mx.effects.EffectInstance;
import mx.events.EffectEvent;
import mx.managers.SystemManager;
import mx.resources.IResourceManager;
import mx.resources.ResourceManager;
import mx.styles.IStyleClient;
