newItem,  (oldItem && !isParent(newItem) && isParent(oldItem)) ? null : oldItem, request, 
newItem, oldItem_, request, 
function calWcapCalendar_modifyItem(newItem, oldItem, listener){    var this_ = this;    var request = new calWcapRequest(        function modifyItem_resp(request, err, item) {            if (listener) {                listener.onOperationComplete(                    this_.superCalendar, getResultCode(err),                    calIOperationListener.MODIFY,                    newItem.id, err ? err : item);            }            if (err)                this_.notifyError(err);            else                this_.notifyObservers("onModifyItem", [item, oldItem]);        },        log("modifyItem() call: " + newItem.id, this));        try {        if (!newItem.id)            throw new Components.Exception("new item has no id!");        this.storeItem(false/*bAddItem*/,                       newItem,                       // pass null for oldItem when creating new exceptions:                       (oldItem && !isParent(newItem) && isParent(oldItem)) ? null : oldItem,                       request,                       function netResp(err, icalRootComp) {                           if (err)                               throw err;                           var items = this_.parseItems(                               icalRootComp,                               calICalendar.ITEM_FILTER_ALL_ITEMS,                               0, null, null, true /* bLeaveMutable */);                           if (items.length < 1)                               throw new Components.Exception("empty VCALENDAR returned!");                           if (items.length > 1)                               this_.notifyError("unexpected number of items: " + items.length);                           var item = items[0];                           this_.tunnelXProps(item, newItem);                           item.makeImmutable();                           // invalidate cached results:                           delete this_.m_cachedResults;                           // xxx todo: maybe log request status                           request.execRespFunc(null, item);                       });    }    catch (exc) {        request.execRespFunc(exc);    }    return request;};
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/94c50a07421f89d75baba110e01b2599038d7714/calWcapCalendarItems.js/clean/calendar/providers/wcap/calWcapCalendarItems.js