public static async Task<List<FavoriteStopViewModel>> GetFavoritesViewModel(ITransitRepository repository,
ITransitClient client, DateTimeOffset currentTime, IEnumerable<int> stopIds, LatLong? optionalUserLocation)
{
var staticData = await repository.GetStaticDataAsync();
var favoriteStops = GetFavoriteStops(staticData, stopIds, optionalUserLocation);
var scheduleTask = GetSchedule(repository, client, currentTime, favoriteStops.Select(f => f.Id));
var schedule = await scheduleTask;
var result = favoriteStops.Select(favorite => ToViewModel(favorite, staticData, schedule, currentTime))
.ToList();
return result;
}