rem: cur_dates.forEach (function (dateToRemove) { dates = dates.filter(function (d) { return d.compare(dateToRemove) != 0; }); }); 
add: this.mExceptions.forEach(function(ex) { var dtstart = ex.item.getProperty("DTSTART"); var dateToReturn; if (aReturnRIDs) dateToReturn = ex.id; else dateToReturn = dtstart;  if ((!aRangeStart || aRangeStart.compare(dtstart) <= 0) && (!aRangeEnd || aRangeEnd.compare(dtstart) > 0)) { dates.push(dateToReturn); return; }   var dtend = ex.item.getProperty("DTEND"); if ((!aRangeStart || aRangeStart.compare(dtend) <= 0) && (!aRangeEnd || aRangeEnd.compare(dtend) > 0)) { dates.push(dateToReturn); return; }   if (aRangeStart && aRangeEnd && aRangeStart.compare(dtstart) >= 0 && aRangeEnd.compare(dtend) <= 0) { dates.push(dateToReturn); return; } }); 
context:                 cur_dates.forEach (function (dateToRemove) {                                       dates = dates.filter(function (d) { return d.compare(dateToRemove) != 0; });                                   });
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/76d298f51456b7708b5ffdb9d66ee51e86a18165/calRecurrenceInfo.js/clean/calendar/base/src/calRecurrenceInfo.js