context: function calWcapCalendar_getRecurrenceParams(    item, out_rrules, out_rdates, out_exrules, out_exdates){    // recurrences:    out_rrules.value = [];    out_rdates.value = [];    out_exrules.value = [];    out_exdates.value = [];    if (item.recurrenceInfo) {        var rItems = item.recurrenceInfo.getRecurrenceItems({});        for each ( var rItem in rItems ) {            var isNeg = rItem.isNegative;            // xxx todo: need to QueryInterface() here?            if (rItem instanceof Components.interfaces.calIRecurrenceRule) {                var rule = ("\"" + encodeURIComponent(                                rItem.icalProperty.valueAsIcalString) +                            "\"");                if (isNeg)                    out_exrules.value.push( rule );                else                    out_rrules.value.push( rule );            }            // xxx todo: need to QueryInterface() here?            else if (rItem instanceof Components.interfaces.calIRecurrenceDateSet) {                var d = rItem.getDates({});                for each ( var d in rdates ) {                    if (isNeg)                        out_exdates.value.push( getIcalUTC(d.date) );                    else                        out_rdates.value.push( getIcalUTC(d.date) );                }            }            // xxx todo: need to QueryInterface() here?            else if (rItem instanceof Components.interfaces.calIRecurrenceDate) {                if (isNeg)                    out_exdates.value.push( getIcalUTC(rItem.date) );                else                    out_rdates.value.push( getIcalUTC(rItem.date) );            }            else {                this.notifyError("don\'t know how to handle this recurrence item: " +                                 rItem.valueAsIcalString);            }        }    }};
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10234/64fa0031c18ffbcccb6d772168cab3b330d991f6/calWcapCalendarItems.js/buggy/calendar/providers/wcap/calWcapCalendarItems.js