public static async Task <List <RemoteImageInfo> > GetImagesSizeAndValidate(IEnumerable <RemoteImageInfo> images, CancellationToken cancellationToken)
        {
            var result = new List <RemoteImageInfo>();
            var tasks  = new List <Task <RemoteImageInfo> >();

            var cleanImages = Cleanup(images);

            var primaryList  = cleanImages.Where(o => o.Type == ImageType.Primary).ToList();
            var backdropList = cleanImages.Where(o => o.Type == ImageType.Backdrop).ToList();
            var dublList     = new List <RemoteImageInfo>();

            foreach (var image in primaryList)
            {
                tasks.Add(GetImageSizeAndValidate(image, cancellationToken));
            }

            foreach (var image in backdropList)
            {
                if (!primaryList.Where(o => o.Url == image.Url).Any())
                {
                    tasks.Add(GetImageSizeAndValidate(image, cancellationToken));
                }
                else
                {
                    dublList.Add(image);
                }
            }

            try
            {
                await Task.WhenAll(tasks).ConfigureAwait(false);
            }
            catch (Exception e)
            {
                Logger.Error($"GetImagesSizeAndValidate error: \"{e}\"");

                await Analytics.Send(null, null, null, null, null, null, e, cancellationToken).ConfigureAwait(false);
            }
            finally
            {
                foreach (var task in tasks)
                {
                    var res = task.Result;

                    if (res != null)
                    {
                        result.Add(res);
                    }
                }
            }

            if (result.Any())
            {
                foreach (var image in dublList)
                {
                    var res = result.Where(o => o.Url == image.Url);
                    if (res.Any())
                    {
                        var img = res.First();

                        result.Add(new RemoteImageInfo
                        {
                            ProviderName = image.ProviderName,
                            Url          = image.Url,
                            Type         = ImageType.Backdrop,
                            Height       = img.Height,
                            Width        = img.Width,
                        });
                    }
                }
            }

            return(result);
        }