                 assignArray(dest, propertyName, new Array());
             }      
         }
+        
+        if (destructionPolicy == "auto")
+            destroyInstance();
+            
         added = false;
+    }
+       
+    /**
+     *  @private
+     */
+    private function destroyInstance():void
+    {
+        if (_itemsFactory)
+        {
+            instanceCreated = false;
+            items = null;
+            _itemsFactory.reset();
+        }
     }
     
     /**

    }

    //------------------------------------
    //  destination
    //------------------------------------


import mx.collections.IList;
import mx.core.ContainerCreationPolicy;
import mx.core.IChildList;
import mx.core.ITransientDeferredInstance;
import mx.core.IVisualElement;
import mx.core.IVisualElementContainer;
import mx.core.UIComponent;
