                 
                 if (currentAssignableDO == null || element.needsDisplayObject)
                 {
-                    var insertIndex:int;
                     var newChild:DisplayObject = element.displayObject;
-                    
-                    if (lastDisplayObject == this)
-                        insertIndex = 0;
-                    else
-                        insertIndex = super.getChildIndex(lastDisplayObject) + 1;               
                     
                     if (newChild == null)
                     {

        for (var i:int = startIndex; i < len; i++)
        {  
            var item:* = getItemAt(i);
            
            if (!(item is GraphicElement)) 
                item = getItemSkin(item);
            
            if (item is DisplayObject)
            {
                lastDisplayObject = item as DisplayObject;
                // Null this out so that we are forced to create one for the next item
                currentAssignableDO = null; 

    private var contentChanged:Boolean = false;
    private var layoutChanged:Boolean = true;
    private var transformChanged:Boolean = false;
    private var needsDisplayObjectAssignment:Boolean = false;
    
    // item renderer
    public var itemRenderer:IFactory;   
