             var count:int = selectedIndices.length;
             
             for (var i:int = 0; i < count; i++)
-                result[i] = getItemAt(selectedIndices[i]);  
+                result[i] = dataProvider.getItemAt(selectedIndices[i]);  
         }
         
         return result;

    //--------------------------------------------------------------------------
    
    /**
     *  Flag that determines if the items in a list are rendered directly or 
     *  wrapped by an item renderer.
     * 
     *  <p>For example, a list may contain Image components. In this case, you want
     *  the images to be wrapped by the item renderer so highlighting and 
     *  selection works correctly. Another list may have ToggleButtons as items.
     *  In this case, the buttons themselves are the renderers, and do not
     *  need to be wrapped.</p>
     * 
     *  @default false
     */
    public var itemsAreRenderers:Boolean = false;
    
    /**
     *  Flag that determines if the list supports multiple selection.
     * 
     *  TODO: description of how single selection properties

     *  @private
     *  Called when an item has been removed from this component.
     */
    override protected function itemRemovedHandler(item:*, index:int):void
    {
        super.itemRemovedHandler(item, index);
        
        var skin:* = dataGroup.getItemSkin(item);
        
        if (skin)
            skin.removeEventListener("click", item_clickHandler);
