     /**
      *  @private
      */
-    protected function addItemsToArrayCollection(dest:ArrayCollection, items:Array):void
+    protected function addItemsToArrayCollection(list:IList, items:Array):void
     {       
-        var list:ArrayList = ArrayList(dest.list);
-        
         if (startIndex == -1)
             startIndex = list.length;
         

import flash.display.DisplayObject;
import mx.components.FxContainer;
import mx.components.Group;
import mx.collections.ArrayCollection;
import mx.collections.ArrayList;
import mx.core.Container;
import mx.core.ContainerCreationPolicy;
import mx.core.IDeferredInstance;

    /**
     *  @private
     */
    protected function removeItemsFromArrayCollection(list:IList):void
    {
        for (var i:int = 0; i < numAdded; i++)
            list.removeItemAt(startIndex);
        
