rem: dates = dates.push(date); 
add: dates.push(date); 
context:     getNextOccurrenceDate: function (aTime) {        if (!this.mBaseItem)            throw Components.results.NS_ERROR_NOT_INITIALIZED;        var startDate = this.mBaseItem.getRecurrenceStartDate();        var dates = [];        for each (ritem in this.mRecurrenceItems) {            var date = ritem.getNextOccurrence(startDate, aTime);            if (!date)                continue;            if (ritem.isNegative)                dates = dates.filter(function (d) { return (d.compare(date) != 0); });            else                dates = dates.push(date);        }        // if no dates, there's no next        if (dates.length == 0)            return null;        // find the earliest date        var earliestDate = dates[0];        dates.forEach(function (d) { if (d.compare(earliestDate) < 0) earliestDate = d; });        return earliestDate;    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/f28497017699b2bca8281387a2b6af4f8c4dbf95/calRecurrenceInfo.js/clean/calendar/base/src/calRecurrenceInfo.js