rem: if (this.mBaseItem.hasProperty("DTEND")) 
add:  var name = "DTEND"; if (this.mBaseItem instanceof Components.interfaces.calITodo) name = "DUE";  if (this.mBaseItem.hasProperty(name)) 
context:     getOccurrenceFor: function (aRecurrenceId) {        var proxy = this.getExceptionFor(aRecurrenceId, false);        if (!proxy) {            var duration = null;            if (this.mBaseItem.hasProperty("DTEND"))                duration = this.mBaseItem.duration;            proxy = this.mBaseItem.createProxy();            proxy.recurrenceId = aRecurrenceId;            proxy.setProperty("DTSTART", aRecurrenceId.clone());            if (duration) {                var enddate = aRecurrenceId.clone();                enddate.addDuration(duration);                proxy.setProperty("DTEND", enddate);            }            if (!this.mBaseItem.isMutable)                proxy.makeImmutable();        }        return proxy;    },
meta: 5872	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5872/0dedec594c5915297636afa6ac0bee2e82548161/calRecurrenceInfo.js/clean/calendar/base/src/calRecurrenceInfo.js