 package flex.core {
+import flash.display.BlendMode;
 import flash.display.DisplayObject;
-import flash.display.Sprite;
 import flash.events.Event;
-import flash.geom.ColorTransform;
-import flash.geom.Matrix;
-import flash.geom.Rectangle;
-import flash.geom.Transform;
 import flash.utils.Dictionary;
 
 import flex.events.FlexEvent;
 import flex.events.ItemExistenceChangedEvent;
-import flex.geom.Transform;
-import flex.graphics.Graphic;
 import flex.graphics.IGraphicElement;
-import flex.graphics.IGraphicElementHost;
-import flex.graphics.MaskType;
-import flex.graphics.TransformUtil;
 import flex.graphics.graphicsClasses.GraphicElement;
 import flex.intf.ILayoutItem;
-import flex.intf.IViewport;
-import flex.layout.BasicLayout;
 import flex.layout.LayoutItemFactory;
 
 import mx.collections.ICollectionView;
 import mx.collections.IList;
 import mx.collections.ListCollectionView;
-import mx.controls.Label;
-import mx.core.IDataRenderer;
-import mx.core.IDeferredInstance;
-import mx.core.IFactory;
-import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.CollectionEvent;
-import mx.events.PropertyChangeEvent;
-import mx.events.PropertyChangeEventKind;
 import mx.styles.IStyleClient;
 
 use namespace mx_internal;

    private static const CONTENT_TYPE_UNKNOWN:int = 0;
    private static const CONTENT_TYPE_ARRAY:int = 1;
    private static const CONTENT_TYPE_ILIST:int = 2;
    
    public function set content(value:*):void
    {

    private function assignDisplayObjects(startIndex:int = 0):void
    {
        var currentAssignableDO:DisplayObject = canShareDisplayObject ? this : null;
        //trace("currADO: " + currentAssignableDO);
        var lastDisplayObject:DisplayObject = this;
        
        // Iterate through all of the items
