internal async Task <AmazonWishlistItems> GetWishlistItems(string[] asins)
        {
            if (asins.Length == 0)
            {
                return(await Task.FromResult <AmazonWishlistItems>(new AmazonWishlistItems()));
            }

            string itemIds = string.Empty;

            if (asins.Length > maxCount)
            {
                itemIds = string.Join(",", asins, 0, maxCount);
                int remainingCount = asins.Length - maxCount;

                asinIds = new string[remainingCount];
                Array.Copy(asins, maxCount, asinIds, 0, remainingCount);
            }
            else
            {
                itemIds = string.Join(",", asins);
                asinIds = new string[0];
            }

            string url = service.GetSignedUrl("ItemLookup", (dict) =>
            {
                dict.Add("ItemId", itemIds);
            });

            return(await service.HttpService.Get <AmazonWishlistItems>(url, null, ConvertAmazonWishlist));
        }
        internal async Task <List <AmazonProduct> > Search(string query)
        {
            string url = service.GetSignedUrl("ItemSearch", (dict) =>
            {
                dict.Add("SearchIndex", "All");
                dict.Add("Keywords", query);
            });

            return(await service.HttpService.Get <List <AmazonProduct> >(url, null, ConvertAmazonSearch));
        }