rem: doTransaction('modify', instance, instance.calendar, itemToEdit, null); 
add: doTransaction('modify', instance, instance.calendar, aOccurrence, null); 
context:     modifyOccurrence: function (aOccurrence, aNewStartTime, aNewEndTime) {        // prompt for choice between occurrence and master for recurrent items        var itemToEdit = getOccurrenceOrParent(aOccurrence);        if (!itemToEdit) {            return;  // user cancelled        }        // if modifying this item directly (e.g. just dragged to new time),        // then do so; otherwise pop up the dialog        if (aNewStartTime && aNewEndTime) {            var instance = itemToEdit.clone();            // if we're about to modify the parentItem, we need to account            // for the possibility that the item passed as argument was            // some other occurrence, but the user said she would like to            // modify all ocurrences instead.  In that case, we need to figure            // out how much the occurrence moved, and move the occurrence by            // that amount.            if (instance.parentItem.hasSameIds(instance)) {                // Figure out how much the start has moved, and adjust                 // aNewStartTime so that the parent moves the same amuount.                var instanceStart = instance.startDate || instance.entryDate;                var occStart = aOccurrence.startDate || aOccurrence.entryDate;                var startDiff = instanceStart.subtractDate(occStart);                aNewStartTime = aNewStartTime.clone();                aNewStartTime.addDuration(startDiff);                // Now do the same for end                var instanceEnd = instance.endDate || instance.dueDate;                var occEnd = aOccurrence.endDate || aOccurrence.dueDate;                var endDiff = instanceEnd.subtractDate(occEnd);                aNewEndTime = aNewEndTime.clone();                aNewEndTime.addDuration(endDiff);            }            // Yay for variable names that make this next line look silly            if (instance instanceof Components.interfaces.calIEvent) {                instance.startDate = aNewStartTime;                instance.endDate = aNewEndTime;            } else {                instance.entryDate = aNewStartTime;                instance.dueDate = aNewEndTime;            }            doTransaction('modify', instance, instance.calendar, itemToEdit, null);        } else {            modifyEventWithDialog(itemToEdit);        }    },
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/e765d44b09f85d09f079dbcf494d17b8bd3215c2/calendar-views.js/clean/calendar/base/content/calendar-views.js