     import org.apache.flex.events.EventDispatcher;
     import org.apache.flex.events.IEventDispatcher;
     import org.apache.flex.events.ValueChangeEvent;
+    import org.apache.flex.states.AddItems;
+    import org.apache.flex.states.SetEventHandler;
+    import org.apache.flex.states.SetProperty;
+    import org.apache.flex.states.State;
     import org.apache.flex.states.Transition;
     import org.apache.flex.utils.MXMLDataInterpreter;
 	

////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.core
{
    
    import org.apache.flex.states.AddItems;
    import org.apache.flex.states.SetEventHandler;
    import org.apache.flex.states.SetProperty;
    import org.apache.flex.states.State;
    
    import org.apache.flex.core.IParent;
    import org.apache.flex.core.IStatesObject;
    import org.apache.flex.effects.Effect;

                            ai.itemsDescriptor.items = ai.items;
                        }
                    }
                    var childrenAdded:Boolean = false;
                    for each (var item:Object in ai.items)
                    {
                        if (!isItemInState(item, oldState))
                        {
                            var parent:IParent = ai.document as IParent;
                            if (ai.destination)
                                parent = parent[ai.destination] as IParent;
                            if (ai.relativeTo != null)
                            {
                                var child:Object = ai.document[ai.relativeTo];
                                if (ai.destination)
                                    parent = IChild(child).parent as IParent;
                                var index:int = parent.getElementIndex(child);
                                if (ai.position == "after")
                                    index++;
                                parent.addElementAt(item, index);
                                childrenAdded = true;
                            }
                            else
                            {
                                parent.addElement(item);
                                childrenAdded = true;
                            }
                        }
                    }
                    if (childrenAdded && parent is IContainer)
                        IContainer(parent).childrenAdded();
                }
                else if (o is SetProperty)
