rem: if (item.feed.downloadCallback.onFeedItemStored) 
add: if (item.feed.downloadCallback && item.feed.downloadCallback.onFeedItemStored) 
context: function storeNextItem(){  var item = gItemsToStore[gItemsToStoreIndex];   item.store();  item.markValid();  // if the listener is tracking progress for storing each item, report it here...  if (item.feed.downloadCallback.onFeedItemStored)    item.feed.downloadCallback.onFeedItemStored(item.feed, gItemsToStoreIndex, gItemsToStore.length);   gItemsToStoreIndex++  // eventually we'll report individual progress here....  if (gItemsToStoreIndex < gItemsToStore.length)  {    if ('setTimeout' in this)      setTimeout(storeNextItem, 50); // fire off a timer for the next item to store    else    {      debug('set timeout is not defined if this call originated from newsblog.js\n');      storeNextItem();    }  }  else  {        item.feed.removeInvalidItems();    if (item.feed.downloadCallback)      item.feed.downloadCallback.downloaded(item.feed);    gItemsToStore = "";    gItemsToStoreIndex = 0;  }   }
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/fe6c21a53d9f078123460bb90d28a8d633d38e03/Feed.js/clean/mail/extensions/newsblog/content/Feed.js