function DataStoreStage.Load(p,r,B)if not p._loadParent then error("\091\068\097\116\097\083\116\111\114\101\083\116\097\103\101\046\076\111\097\100\093 - \070\097\105\108\101\100 \116\111 \108\111\097\100\044 \110\111 \108\111\097\100\080\097\114\101\110\116\033")end if not p._loadName then error("\091\068\097\116\097\083\116\111\114\101\083\116\097\103\101\046\076\111\097\100\093 - \070\097\105\108\101\100 \116\111 \108\111\097\100\044 \110\111 \108\111\097\100\078\097\109\101\033")end if p._dataToSave and p._dataToSave[r]~=nil then if p._dataToSave[r]==DataStoreDeleteToken then return Promise.resolved(B)else return Promise.resolved(p._dataToSave[r])end end return(p._loadParent:Load(p._loadName,{})):Then(function(y)return p:_afterLoadGetAndApplyStagedData(r,y,B)end)end
--[=[
	Loads the data at the `name`.
	@param name string
	@param defaultValue T?
	@return Promise<T>
]=]
function DataStoreStage:Load(name, defaultValue)
	if not self._loadParent then
		error("[DataStoreStage.Load] - Failed to load, no loadParent!")
	end
	if not self._loadName then
		error("[DataStoreStage.Load] - Failed to load, no loadName!")
	end

	if self._dataToSave and self._dataToSave[name] ~= nil then
		if self._dataToSave[name] == DataStoreDeleteToken then
			return Promise.resolved(defaultValue)
		else
			return Promise.resolved(self._dataToSave[name])
		end
	end

	return self._loadParent:Load(self._loadName, {}):Then(function(data)
		return self:_afterLoadGetAndApplyStagedData(name, data, defaultValue)
	end)
end
