rem: var compobs = aObserver.QueryInterface (calICompositeObserver); if (compobs) { 
add: if (aObserver instanceof calICompositeObserver) { var compobs = aObserver.QueryInterface (calICompositeObserver); 
context:     addObserver: function (aObserver, aItemFilter) {        const calICompositeObserver = Components.interfaces.calICompositeObserver;        var compobs = aObserver.QueryInterface (calICompositeObserver);        if (compobs) {            for (var i = 0; i < this.mCompositeObservers.length; i++) {                if (this.mCompositeObservers[i] == aObserver)                    return;            }            this.mCompositeObservers.push(compobs);        }        for (cal in this.mCalendars) {            cal.addObserver(aObserver, aItemFilter);        }    },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/dac51ea0e67459ed6e397f469d8baab681446c3e/calCompositeCalendar.js/clean/calendar/providers/composite/calCompositeCalendar.js