private async Task <catalogInventoryStockRegistryV1GetLowStockItemsResponse1> GetStockItemsPageOld(int currentPage, int pageSize)
        {
            try
            {
                const int maxCheckCount    = 2;
                const int delayBeforeCheck = 1800000;

                var privateClient = this._clientFactory.CreateMagentoCatalogInventoryStockServiceClient();
                var res           = new catalogInventoryStockRegistryV1GetLowStockItemsResponse1();
                await ActionPolicies.GetAsync.Do(async() =>
                {
                    var statusChecker = new StatusChecker(maxCheckCount);
                    TimerCallback tcb = statusChecker.CheckStatus;

                    privateClient = this._clientFactory.RefreshMagentoCatalogInventoryStockServiceClient(privateClient);

                    using (var stateTimer = new Timer(tcb, privateClient, 1000, delayBeforeCheck))
                    {
                        var catalogInventoryStockRegistryV1GetStockItemBySkuRequest = new CatalogInventoryStockRegistryV1GetLowStockItemsRequest()
                        {
                            currentPage = currentPage, currentPageSpecified = true, pageSize = pageSize, pageSizeSpecified = true, qty = 999999999999, scopeId = 1
                        };
                        res = await privateClient.catalogInventoryStockRegistryV1GetLowStockItemsAsync(catalogInventoryStockRegistryV1GetStockItemBySkuRequest).ConfigureAwait(false);
                    }
                }).ConfigureAwait(false);

                return(res);
            }
            catch (Exception exc)
            {
                throw new MagentoSoapException(string.Format("An error occured during GetStockItemsAsync({0})", ""), exc);
            }
        }
        private async Task <catalogInventoryStockRegistryV1GetLowStockItemsResponse1> GetStockItemsPageAsync(int currentPage, int pageSize)
        {
            var catalogInventoryStockRegistryV1GetStockItemBySkuRequest = new CatalogInventoryStockRegistryV1GetLowStockItemsRequest()
            {
                currentPage = currentPage, currentPageSpecified = true, pageSize = pageSize, pageSizeSpecified = true, qty = 999999999999, scopeId = 1
            };

            return(await this.GetWithAsync(
                       res => res,
                       async ( client, session ) => await client.catalogInventoryStockRegistryV1GetLowStockItemsAsync( catalogInventoryStockRegistryV1GetStockItemBySkuRequest ).ConfigureAwait(false), 600000, this._clientFactory.CreateMagentoCatalogInventoryStockServiceClient, this._clientFactory.RefreshMagentoCatalogInventoryStockServiceClient).ConfigureAwait(false));
        }