     
     private function addChildAt(container:*, child:*, index:int):void
     {
-        if (hasParent)
+        if (hasParent && !(container is Group))
            container.addChildAt(child, index);
         else
            container.addItemAt(child, index);

    
    private function removeChild(container:*, child:*):void
    {
        if (hasParent)
           container.removeChild(child);
        else
           container.removeItem(child);

import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
import flash.events.Event;

import flex.core.Group;

import mx.core.mx_internal;
import mx.effects.effectClasses.ActionEffectInstance;
