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

        }
        
        var length:int = addList.length;
        for (var i:int=0; i < length; i++)
        {
            var insertIndex:int = i + index;
            
            // incremental index may be out of bounds because of filtering,
            // so add this item to the end.
            var currentLength:int = this.length;
            if (insertIndex > currentLength)
                insertIndex = currentLength;
            
            this.addItemAt(addList.getItemAt(i), insertIndex);
        }
    }

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