if(!this.firstRequest) { this.firstRequest = false; 
if(!this.firstRequest || type == "error") { 
  this.getData = function(/*String*/ url){    //show indicator    dojo.html.show(this.cbox.indicator);    dojo.io.bind({      url: url,      formNode: dojo.byId(this.formId),      formFilter: window[this.formFilter],      transport: this.transport,      handler: dojo.lang.hitch(this, function(type, data, evt) {        //hide indicator        dojo.html.hide(this.cbox.indicator);        //if notifyTopics is published on the first request (onload)        //the value of listeners will be reset        if(!this.firstRequest) {          this.firstRequest = false;          this.cbox.notify.apply(this.cbox, [data, type, evt]);        }        var arrData = null;        var dataByName = data[this.cbox.dataFieldName];        if(!dojo.lang.isArray(data)) {           //if there is a dataFieldName, take it           if(dataByName) {             if(dojo.lang.isArray(dataByName)) {                //ok, it is an array                arrData = dataByName;             } else if(dojo.lang.isObject(dataByName)) {                //it is an object, treat it like a map                arrData = [];                for(var key in dataByName){                    arrData.push([dataByName[key], key]);                }             }           } else {             //try to find a match             var tmpArrData = [];             for(var key in data){               //does it start with the field name? take it               if(dojo.string.startsWith(key, this.cbox.name)) {                 arrData = data[key];                 break;               } else {                 //if nathing else is found, we will use values in this                  //object as the data                 tmpArrData.push([data[key], key]);               }               //grab the first array found, we will use it if nothing else               //is found               if(!arrData && dojo.lang.isArray(data[key]) && !dojo.lang.isString(data[key])) {                 arrData = data[key];               }             }             if(!arrData) {               arrData = tmpArrData;             }           }                      data = arrData;        }        this.setData(data);      }),      mimetype: "text/json"    });  };
6315	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6315/8d5e2ec356191d3f7b7197ccdd754d1a5010e15f/ComboBox.js/buggy/src/main/resources/org/apache/struts2/static/dojo/struts/widget/ComboBox.js