private DataList<ImageInfo> getImages(string artistName, string albumName, Int64? fileId, Boolean getOneImage)
        {
            try
            {
                DataList<ImageInfo> returnList = new DataList<ImageInfo>();

                if (canCallAmazon(artistName, albumName))
                {
                    AmazonECS service = new AmazonECSQuery(accessKeyId, "");
                    byte[] returnArr = null;
                    ItemSearchRequest request = new ItemSearchRequest();
                    request.SearchIndex = "Music";
                    request.ResponseGroup = new List<String>(new String[] { "Images" });
                    request.Artist = artistName;
                    request.Title = albumName;

                    ItemSearchResponse response = service.ItemSearch(request);
                    if (response.Items.Count == 1)
                    {
                        DataList<Item> items = new DataList<Item>(response.Items[0].Item);

                        foreach (Item itm in items)
                        {
                            if (itm.MediumImage != null)
                            {
                                String url = itm.MediumImage.URL;
                                String extension = Static.GetFileExtension(itm.MediumImage.URL);
                                String md5Hash;

                                using (WebClient Client = new WebClient())
                                {
                                    returnArr = Client.DownloadData(url);
                                    md5Hash = new Hex(MD5Stream.GetHash(returnArr));
                                    returnList.Add(new ImageInfo { Data = returnArr, Extension = extension, webUrl = url, md5Hash = md5Hash });
                                }
                                if (getOneImage)
                                    break;
                            }
                        }

                        if (returnList.Count > 0)
                            calledAmazon(artistName, albumName, true);
                        Logging.Info(typeof(AmazonAssociatesImageProvider), String.Format("Amazon Search for {0} ({1}) {2} results", artistName, albumName, returnList.Count));

                    }
                    else if (response.Items.Count > 1)
                        Logging.Warn(typeof(AmazonAssociatesImageProvider), "More than one search result");
                    else
                        Logging.Warn(typeof(AmazonAssociatesImageProvider), String.Format("No search result ({0}, {1})", artistName, albumName));
                }
                else
                {
                    Logging.Debug(typeof(AmazonAssociatesImageProvider), String.Format("Will not call Amazon, because of last calls: {0}, {1}, {2}", artistName, albumName, fileId));
                }
                return returnList;
            }
            catch (Exception e)
            {
                Logging.Error(typeof(AmazonAssociatesImageProvider), e);
                calledAmazon(artistName, albumName, false);
                return null;
            }
        }