      */
     public function addItem(item:Object):void
     {
-        addItemAt(item, length);
+		if (localIndex)
+        	addItemAt(item, localIndex.length);
+		else
+			addItemAt(item, length);
     }
 
     /**

     */
    public function addAll(addList:IList):void
    {
        addAllAt(addList, length);
    }
    
    /**

        }
        
        var length:int = addList.length;
		var maxLength:int = length
			
		// incremental index may be out of bounds because of filtering,
		// so add this item to the end.
		if (index > maxLength)
			index = maxLength;

        for (var i:int=0; i < length; i++)
        {
            var insertIndex:int = i + index;
			
            this.addItemAt(addList.getItemAt(i), insertIndex);
        }
    }
