public async Task <IEnumerable <StateDto> > GetStates() { var cached = _cacheAccessor.GetStates(); if (cached.Any()) { return(cached); } var states = await _directoryAccessor.GetStates(); await _cacheAccessor.CacheStates(states); return(states); }