public async Task<bool> LoadPitcherDataAsync(PlayersContextViewModel context, string cachedJson = "")
        {
            List<PitcherModel> pitchers;

            if (string.IsNullOrEmpty(cachedJson))
            {
                var dataContext = new DataContext();
                var svcResult = string.Empty;

                svcResult = await dataContext.GetPitchersAsync(context.SelectedBatterId, context.SelectedYearId);
                if (svcResult == null) { return false; } //no results message
                //PitchersDataString = svcResult;
                pitchers = JsonConvert.DeserializeObject<List<PitcherModel>>(svcResult);
            }
            else
            {
                pitchers = JsonConvert.DeserializeObject<List<PitcherModel>>(cachedJson);
            } 

            var groupedItems =
                from pitcher in pitchers
                orderby pitcher.FirstName
                select new PlayersPitchersViewModel
                {
                    FirstLetter = pitcher.FirstName.Substring(0, 1),
                    LineOne = pitcher.GetDisplayName(),
                    PitcherId = pitcher.RetroId
                } into list
                group list by list.FirstLetter into listByYear
                select new KeyedList<string, PlayersPitchersViewModel>(listByYear);

            PitcherItems.Clear();
            foreach (var viewModelItem in groupedItems)
            {
                PitcherItems.Add(viewModelItem);
            }
            return true;
        }