add:   this.mHooks.onBeforeGet(channel);  
context:     refresh: function() {        // Lock other changes to the item list.        this.locked = true;        // set to prevent writing after loading, without any changes        this.loading = true;        var ioService = Components.classes["@mozilla.org/network/io-service;1"]                                  .getService(Components.interfaces.nsIIOService);        var channel = ioService.newChannelFromURI(fixupUri(this.mUri));        channel.loadFlags |= Components.interfaces.nsIRequest.LOAD_BYPASS_CACHE;        channel.notificationCallbacks = this;        var streamLoader = Components.classes["@mozilla.org/network/stream-loader;1"]                                     .createInstance(Components.interfaces.nsIStreamLoader);        try {            streamLoader.init(channel, this, this);        } catch(e) {            // File not found: a new calendar. No problem.            this.mObserver.onEndBatch();            this.mObserver.onLoad();            this.locked = false;            this.processQueue();        }    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/2cd5ad4e15f5a732d3db97d117d45263b4186d2b/calICSCalendar.js/buggy/calendar/providers/ics/calICSCalendar.js