rem: throw new Error("empty VCALENDAR returned!"); 
add: throw new Components.Exception("empty VCALENDAR returned!"); 
context: calWcapCalendar.prototype.adoptItem_resp = function( wcapResponse, listener ){    var item = 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)            throw new Error("empty VCALENDAR returned!");        if (items.length > 1)            this.notifyError( "unexpected number of items: " + items.length );        item = items[0];                this.log( "item.id=" + item.id );                if (listener != null) {            listener.onOperationComplete(                this.superCalendar, Components.results.NS_OK,                Components.interfaces.calIOperationListener.ADD,                item.id, item );        }        this.notifyObservers( "onAddItem", [item] );        // xxx todo: maybe log request status    }    catch (exc) {        if (listener != null) {            listener.onOperationComplete(                this.superCalendar, Components.results.NS_ERROR_FAILURE,                Components.interfaces.calIOperationListener.ADD,                item == null ? null : item.id, exc );        }        this.notifyError( exc );    }};
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/30d02961047b21c123c6585c71a085e40f3e6fa5/calWcapCalendarItems.js/clean/calendar/providers/wcap/calWcapCalendarItems.js