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

    {
        delete pendingResponders[index];

        var item:Object = null;
        if (createFailedItemFunction !== null)
        {
            item = createFailedItemFunction(index, info);
            list.setItemAt(item, index); 
        }
    }
            
    

                responder.index = -1;
        }
        pendingResponders.length = 0;
        failedItems.length = 0;
    }

    /**
     *  @private
     *  Fixup the pendingResponders and failedItems arrays after a change to the list.  
     *  Generally speaking, if a list[index] item changes, the pending responder for 
     *  that index is no longer needed.
     *  
     *  All "collectionChange" events are redispatched to the AsyncListView listeners.
     */
