url: self._csvFileUrl, 
url: self.url, 
	fetchItemByIdentity: function(/* Object */ keywordArgs){		//	summary: 		//		See dojo.data.api.Identity.fetchItemByIdentity()		//Hasn't loaded yet, we have to trigger the load.				if(!this._loadFinished){			var self = this;			if(this._csvFileUrl){				//If fetches come in before the loading has finished, but while				//a load is in progress, we have to defer the fetching to be 				//invoked in the callback.				if(this._loadInProgress){					this._queuedFetches.push({args: keywordArgs});				}else{					this._loadInProgress = true;					var getArgs = {							url: self._csvFileUrl, 							handleAs: "text"						};					var getHandler = dojo.xhrGet(getArgs);					getHandler.addCallback(function(data){						var scope =  keywordArgs.scope?keywordArgs.scope:dojo.global;						try{							self._processData(data);							var item = self._createItemFromIdentity(keywordArgs.identity);							if(!self.isItem(item)){								item = null;							}							if(keywordArgs.onItem){								keywordArgs.onItem.call(scope, item);							}							self._handleQueuedFetches();						}catch(error){							if(keywordArgs.onError){								keywordArgs.onError.call(scope, error);							}						}					});					getHandler.addErrback(function(error){						this._loadInProgress = false;						if(keywordArgs.onError){							var scope =  keywordArgs.scope?keywordArgs.scope:dojo.global;							keywordArgs.onError.call(scope, error);						}					});				}			}else if(this._csvData){				self._processData(self._csvData);				self._csvData = null;				var item = self._createItemFromIdentity(keywordArgs.identity);				if(!self.isItem(item)){					item = null;				}				if(keywordArgs.onItem){					var scope =  keywordArgs.scope?keywordArgs.scope:dojo.global;					keywordArgs.onItem.call(scope, item);				}			}		}else{			//Already loaded.  We can just look it up and call back.			var item = this._createItemFromIdentity(keywordArgs.identity);			if(!this.isItem(item)){				item = null;			}			if(keywordArgs.onItem){				var scope =  keywordArgs.scope?keywordArgs.scope:dojo.global;				keywordArgs.onItem.call(scope, item);			}		}	},
5168	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5168/d127f1aa8554d4f8b6b28ad1cad534f397526742/CsvStore.js/buggy/data/CsvStore.js