rem: aListener.onOperationComplete (Components.results.NS_OK, aId, aListener.GET, item); 
add: var item_iid = null; if (item.QueryInterface (kCalEventIID)) { item_iid = kCalEventIID; } else if (item.QueryInterface (kCalTodoIID)) { item_iid = kCalTodoIID; } else { aListener.onGetComplete(Components.results.NS_ERROR_FAILURE, null, "Unknown IID type", 0, []); return; }  aListener.onGetComplete(Components.results.NS_OK, item_iid, null, 1, [item]); 
context:     getItem: function (aId, aListener) {        if (!aListener)            return;        // XXX what do we load from? this thing is horribly underspecified        var item = getItemByHash (aId);        if (item) {            aListener.onOperationComplete (Components.results.NS_OK,                                           aId,                                           aListener.GET,                                           item);        } else {            aListener.onOperationComplete (Components.results.NS_ERROR_FAILURE,                                           aId,                                           aListener.GET,                                           "ID not found");        }    },
meta: 5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5459/3ed5153e77d21e9a1d4b8c6e12e1eb27561e61fc/calStorageCalendar.js/buggy/calendar/providers/storage/calStorageCalendar.js