listener.onOperationComplete = function(aStatusCode, aResource, aOperation, aClosure) { 
onOperationComplete: function(aStatusCode, aResource, aOperation, aClosure) {  aClosure.onOperationComplete(this, aStatusCode, 0, null, null); 
        listener.onOperationComplete = function(aStatusCode, aResource,                                                aOperation, aClosure) {            // 201 = HTTP "Created"            // 204 = HTTP "No Content"            //            if (aStatusCode == 204 || aStatusCode == 201) {                LOG("Item modified successfully.");                var retVal = Components.results.NS_OK;            } else {                if (aStatusCode > 999) {                    aStatusCode = "0x " + aStatusCode.toString(16);                }                LOG("Error modifying item: " + aStatusCode);                // XXX deal with non-existent item here, other                // real error handling                // XXX aStatusCode will be 201 Created for a PUT on an item                // that didn't exist before.                retVal = Components.results.NS_ERROR_FAILURE;            }            // XXX ensure immutable version returned            // notify listener            if (aListener) {                try {                    aListener.onOperationComplete(thisCalendar, retVal,                                                  aListener.MODIFY,                                                  aNewItem.id, aNewItem);                } catch (ex) {                    LOG("modifyItem's onOperationComplete threw an"                          + " exception " + ex + "; ignoring");                }            }            // notify observers            if (Components.isSuccessCode(retVal)) {                thisCalendar.observeModifyItem(aNewItem, aOldItem.parentItem);            }            return;        }
5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5459/04bfc35334f1674e42cfe33c1ec5b2a3d28a8ba9/calDavCalendar.js/clean/calendar/providers/caldav/calDavCalendar.js