rem: if (this.readOnly) throw Components.interfaces.calIErrors.CAL_IS_READONLY; 
context: calWcapCalendar.prototype.adoptItem = function( item, listener ){    this.log( "adoptItem() call: " + item.title );    if (this.readOnly)        throw Components.interfaces.calIErrors.CAL_IS_READONLY;    try {        // xxx todo: workaround really necessary for adding an occurrence?        var oldItem = null;        if (!isParent(item)) {            this.logError( "adoptItem(): unexpected proxy!" );            debugger;            item.parentItem.recurrenceInfo.modifyException( item );            oldItem = item; // patch to modify        }                var this_ = this;        this.storeItem(            item, oldItem,            function( wcapResponse ) {                this_.adoptItem_resp( wcapResponse, listener );            } );    }    catch (exc) {        if (listener != null) {            listener.onOperationComplete(                this.superCalendar, Components.results.NS_ERROR_FAILURE,                Components.interfaces.calIOperationListener.ADD,                item.id, exc );        }        this.notifyError( exc );    }    this.log( "adoptItem() returning." );};
meta: 5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5872/30d02961047b21c123c6585c71a085e40f3e6fa5/calWcapCalendarItems.js/clean/calendar/providers/wcap/calWcapCalendarItems.js