public static async Task <string> GetArtistImageUrlAsync(string artist)
        {
            var urlToReturn = string.Empty;

            if (Availability)
            {
                if (!string.IsNullOrEmpty(artist) && !Banlist.ArtistMetadataRetrieveBanlist.ContainsKey(artist))
                {
                    try
                    {
                        urlToReturn = await GrooveMusicMetadata.GetArtistImageUrl(artist);

                        if (string.IsNullOrEmpty(urlToReturn))
                        {
                            urlToReturn = await LastFmArtistMetadata.GetArtistImageUrlAsync(artist);
                        }
                    }
                    catch (Exception)
                    {
                        // Typically that should not happen.
                        // Investigate if that happens.
                    }
                }
            }

            return(urlToReturn);
        }
        public static async Task <IEntityInfo[]> GetArtistsAsync(string artist)
        {
            var artists = (await Task.WhenAll(
                               GrooveMusicMetadata.GetArtistsAsync(artist),
                               LastFmArtistMetadata.GetArtistsAsync(artist)))
                          .SelectMany(x => x)
                          .ToList();

            artists.Sort(new ArtistSimilarityComparer(artist));
            return(artists.ToArray());
        }