     /**
      *  @private
      */
-    protected function addItemsToContainer(dest:Container, items:Array):void
+    protected function addItemsToContainer(dest:IChildList, items:Array):void
     {
         if (startIndex == -1)
             startIndex = dest.numChildren;

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

            for (i = 0; i < numAdded; i++)
                dest.removeItemAt(startIndex);
        }
        else if (propertyName == null && dest is IChildList)
        {
            for (i = 0; i < numAdded; i++)
                IChildList(dest).removeChildAt(startIndex);
        }
        else if (propertyName != null && !isStyle && dest[propertyName] is IList)
        {
            removeItemsFromIList(dest[propertyName] as IList);
        }
        else
        {
