rem: this.assureLoggedIn(); 
context:     getFreeBusyTimes_queued:    function( calId, rangeStart, rangeEnd, bBusyOnly, listener, b, requestId )    {        try {            // assure DATETIMEs:            if (rangeStart != null && rangeStart.isDate) {                rangeStart = rangeStart.clone();                rangeStart.isDate = false;            }            if (rangeEnd != null && rangeEnd.isDate) {                rangeEnd = rangeEnd.clone();                rangeEnd.isDate = false;            }            var zRangeStart = getIcalUTC(rangeStart);            var zRangeEnd = getIcalUTC(rangeEnd);            this.log( "\n\trangeStart=" + zRangeStart +                      ",\n\trangeEnd=" + zRangeEnd,                      "getFreeBusyTimes()" );                        this.assureLoggedIn();            var url = this.getCommandUrl( "get_freebusy" );            url += ("&calid=" + encodeURIComponent(calId));            url += ("&busyonly=" + (bBusyOnly ? "1" : "0"));            url += ("&dtstart=" + zRangeStart);            url += ("&dtend=" + zRangeEnd);            url += "&fmt-out=text%2Fxml";                        var this_ = this;            function resp( wcapResponse ) {                this_.getFreeBusyTimes_resp(                    wcapResponse, calId, listener, requestId );            }            this.issueAsyncRequest( url, stringToXml, resp );        }        catch (exc) {            this.notifyError( exc );            if (listener != null)                listener.onGetFreeBusyTimes( exc, requestId, calId, 0, [] );        }    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/c317083d7059a49fd353caf3b5a0d690126aa6f8/calWcapSession.js/buggy/calendar/providers/wcap/calWcapSession.js