         {
             addItemsToContentHolder(dest, localItems);
         }
-        else if (propertyName == null && dest is Container)
-        {
-            addItemsToContainer(dest as Container, localItems);
+        else if (propertyName == null && dest is IChildList)
+        {
+            addItemsToContainer(dest as IChildList, localItems);
         }
         else if (propertyName != null && !isStyle && dest[propertyName] is IList)
         {
-            addItemsToArrayCollection(dest[propertyName], localItems);
+            addItemsToIList(dest[propertyName], localItems);
         }
         else
         {

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

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