rem: newItem.id, newItem ); 
add: item.id, item ); 
context: calWcapCalendar.prototype.modifyItem_resp = function(    wcapResponse, newItem_, oldItem, iListener ){    var newItem = null;    try {        var icalRootComp = wcapResponse.data; // first statement, may throw                var items = this.parseItems(            icalRootComp,            Components.interfaces.calICalendar.ITEM_FILTER_ALL_ITEMS,            0, null, null );        if (items.length > 1)            this.notifyError( "unexpected number of items: " + items.length );        if (items.length < 1) {            // however, sometimes socs just returns an empty calendar when            // nothing has changed, although fetch=1.            // This also occurs when the event organizer is in the attendees            // list and switches its PARTSTAT too often... WTF.            this.log( "empty VCALENDAR returned!" );            newItem = newItem_; // fallback, assuming item has been written        }        else            newItem = items[0];                if (iListener != null) {            iListener.onOperationComplete(                this.superCalendar, Components.results.NS_OK,                Components.interfaces.calIOperationListener.MODIFY,                newItem.id, newItem );        }        this.notifyObservers( "onModifyItem", [newItem, oldItem] );        // xxx todo: maybe log request status    }    catch (exc) {        if (iListener != null) {            iListener.onOperationComplete(                this.superCalendar, Components.results.NS_ERROR_FAILURE,                Components.interfaces.calIOperationListener.MODIFY,                newItem == null ? null : newItem.id, exc );        }        this.notifyError( exc );    }};
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/ad2bdcb6c18f1e829aca9451bce108e41efa3cb5/calWcapCalendarItems.js/clean/calendar/providers/wcap/calWcapCalendarItems.js