 self._arrayOfAllItems[item[self._itemId]] = item; 
 self._arrayOfAllItems[item[self._itemNumPropName]] = item; 
		var gotData = function(data){			//Now we need to modify the existing item a bit to take it out of stub state			//Since we extend the store and have knowledge of the internal			//structure, this can be done here.  Now, is we extended			//a write store, we could call the write APIs to do this too			//But for a simple demo the diretc modification in the store function			//is sufficient.			//Clear off the stub indicators.			delete item.type;			delete item.parent;			//Set up the loaded values in the format ItemFileReadStore uses for attributes.			for (i in data) {				if (dojo.isArray(data[i])) {					item[i] = data[i];				}else{					item[i] = [data[i]];				}			}			//Reset the item in the reference.  			self._arrayOfAllItems[item[self._itemId]] = item;			//Scan the new values in the item for extra stub items we need to 			//add to the items array of the store so they can be lazy-loaded later...			var attributes = self.getAttributes(item);			for(i in attributes){				var values = self.getValues(item, attributes[i]);				for (var j = 0; j < values.length; j++) {					var value = values[j];										if(typeof value === "object"){						if(value["stub"] ){							//We have a stub reference here, we need to create the stub item							var stub = {								type: ["stub"],								name: [value["stub"]],	//								parent: [itemName]		//The child stub item is parented by this item name...							};							if (parent) {								//Add in any parents to your parent so URL construstruction is accurate.								stub.parent[0] = parent + "/" + stub.parent[0]; 							}							//Finalize the addition of the new stub item into the ItemFileReadStore list.							self._arrayOfAllItems.push(stub);							stub[self._storeRefPropName] = self;							stub[self._itemNumPropName] = (self._arrayOfAllItems.length - 1); //Last one pushed in should be the item							values[j] = stub; //Set the stub item back in its place and replace the stub notation.						}					}				}			}			//Done processing!  Call the onItem, if any.			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/d2764803a6488e05da81aa8f13fa0207c608a3df/LazyLoadJSIStore.js/clean/data/demos/stores/LazyLoadJSIStore.js