      */
     public function getItemIndex(item:Object):int
     {
+        const failedItemIndex:int = failedItems.indexOf(item);
+        if (failedItemIndex != -1)
+            return failedItemIndex;
+        
         for each (var responder:ListItemResponder in pendingResponders)
             if (responder && responder.item === item)
                 return responder.index;

                deletePendingResponder(toIndex); // in case we're copying over a pending request
                pendingResponders[toIndex] = pendingResponder;
            }
            fromIndex += 1;
            toIndex += 1;
        }

    {
        if (!list)
            return null;
        
        const failedItem:* = failedItems[index];
        if (failedItem !== undefined)
            return failedItem;

        const pendingResponder:ListItemResponder = pendingResponders[index];
        if (pendingResponder)
