rem:  var startDiff = instance.startDate.subtractDate(aOccurrence.startDate); 
add: var instanceStart = instance.startDate || instance.entryDate; var occurrenceStart = aOccurrence.startDate || aOccurrence.entryDate; var startDiff = instanceStart.subtractDate(occurrenceStart); 
context:     modifyOccurrence: function (aOccurrence, aNewStartTime, aNewEndTime) {        // if we can modify this thing directly (e.g. just the time changed),        // then do so; otherwise pop up the dialog        var itemToEdit = getOccurrenceOrParent(aOccurrence);        if (!itemToEdit) {            return;        }        if (aNewStartTime && aNewEndTime && !aNewStartTime.isDate && !aNewEndTime.isDate) {                    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 ocurrence, but the user said she would like to            // modify all ocurrences instead.            if (instance.parentItem == instance) {                var startDiff = instance.startDate.subtractDate(aOccurrence.startDate);                aNewStartTime.addDuration(startDiff);                var endDiff = instance.endDate.subtractDate(aOccurrence.endDate);                aNewEndTime.addDuration(endDiff);            }            instance.startDate = aNewStartTime;            instance.endDate = aNewEndTime;            doTransaction('modify', instance, instance.calendar, itemToEdit, null);        } else {            modifyEventWithDialog(itemToEdit);        }    },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/6a9d0cbefcfdda67233d6b4f1c5104578a1b6b92/calendar-management.js/buggy/calendar/lightning/content/calendar-management.js