rem: this.observeAddItem(aItem); 
add: savedthis.observeAddItem(aItem); 
context:     addItem: function (aItem, aListener) {        if (aItem.id == null)            aItem.id = "uuid:" + (new Date()).getTime();        // XXX do we need to check the server to see if this already exists?        // XXX how are we REALLY supposed to figure this out?        var eventUri = this.mUri.clone();        eventUri.spec = eventUri.spec + "calendar/events/" + aItem.id + ".ics";        var eventResource = new WebDavResource(eventUri);        var listener = new WebDavListener();        listener.onOperationComplete = function(aStatusCode, aResource,                                                aOperation, aClosure) {            // 201 = HTTP "Created"            //            if (aStatusCode == 201) {                dump("Item added successfully.\n");                var retVal = Components.results.NS_OK;                // notify observers                // XXX should be called after listener?                this.observeAddItem(aItem);            } else {                dump("Error adding item: " + aStatusCode + "\n");                retVal = Components.results.NS_ERROR_FAILURE;            }            // XXX ensure immutable version returned            // notify the listener            if (aListener)                aListener.onOperationComplete (this,                                               retVal,                                               aListener.ADD,                                               aItem.id,                                               aItem);        }        dump("icalString = " + aItem.icalString + "\n");        // do WebDAV put        var webSvc = Components.classes['@mozilla.org/webdav/service;1']            .getService(Components.interfaces.nsIWebDAVService);        webSvc.putFromString(eventResource, "text/calendar", aItem.icalString,                              listener, null);        return;    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/3ace56c44ca23c45bab9b514b60e5527781ecdf0/calDavCalendar.js/clean/calendar/providers/caldav/calDavCalendar.js