rem: related = item.ALARM_RELATED_END; 
add: related = Components.interfaces.calIItemBase.ALARM_RELATED_END; 
context:     getItemBaseFromRow: function (row, flags, item) {        if (row.time_created)            item.creationDate = newDateTime(row.time_created, "UTC");        if (row.last_modified)            item.lastModifiedTime = newDateTime(row.last_modified, "UTC");        item.calendar = this;        item.id = row.id;        if (row.title)            item.title = row.title;        if (row.priority)            item.priority = row.priority;        if (row.privacy)            item.privacy = row.privacy;        if (row.ical_status)            item.status = row.ical_status;        if (row.alarm_time) {            // Old (schema version 4) data, need to convert this nicely to the            // new alarm interface.  Eventually, we're going to want to be able            // to deal with both types of data in a calIAlarm interface, but            // not yet.  Leaving this column around though may help ease that            // transition in the future.            var alarmTime = newDateTime(row.alarm_time, row.alarm_time_tz);            var time;            var related = item.ALARM_RELATED_START;            if (item instanceof Components.interfaces.calIEvent) {                time = newDateTime(row.event_start, row.event_start_tz);            } else { //tasks                if (row.todo_entry) {                    time = newDateTime(row.todo_entry, row.todo_entry_tz);                } else if (row.todo_due) {                    related = item.ALARM_RELATED_END;                    time = newDateTime(row.todo_due, row.todo_due_tz);                }            }            if (time) {                var duration = alarmTime.subtractDate(time);                item.alarmOffset = duration;                item.alarmRelated = related;            } else {                Components.utils.reportError("WARNING! Couldn't do alarm conversion for item:"+                                             item.title+','+item.id+"!\n");            }        }        // Alarm offset could be 0, but this is ok, so compare with null        if (row.alarm_offset != null) {            var duration = Components.classes["@mozilla.org/calendar/duration;1"]                                     .createInstance(Components.interfaces.calIDuration);            duration.inSeconds = row.alarm_offset;            duration.normalize();            item.alarmOffset = duration;            item.alarmRelated = row.alarm_related;            if (row.alarm_last_ack) {                // alarm acks are always in utc                item.alarmLastAck = newDateTime(row.alarm_last_ack, "UTC");            }        }        if (row.recurrence_id)            item.recurrenceId = newDateTime(row.recurrence_id, row.recurrence_id_tz);        if (flags)            flags.value = row.flags;    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/2e943e19060f7927d93b4a48d118ddd5659acc7f/calStorageCalendar.js/buggy/calendar/providers/storage/calStorageCalendar.js