protected override async Task<bool> GetDataAsync()
        {
            var resource = new ProductReservationResource(Context);
            _results = await resource.GetProductReservationsAsync(startIndex: StartIndex, pageSize: PageSize, sortBy: SortBy, filter: Filter, responseFields: ResponseFields);

            TotalCount = _results.TotalCount;
            PageCount = _results.PageCount;
            PageSize = _results.PageSize;
            return _results.Items != null && _results.Items.Count > 0;
        }
#pragma warning disable 618

        #region GetProductReservations
        public ProductReservation[] GetProductReservations(MozuContext ctx, string filter = null)
        {
            List<ProductReservation> list = new List<ProductReservation>();

            ProductReservationResource resource = new ProductReservationResource(ctx.GetApiContext());
            int pageSize = 1000; // will clamp to 200
            int startIndex = 0;
            int pageCount = 0;
            int currentPage = 0;
            do
            {
                ProductReservationCollection collection = resource.GetProductReservations(pageSize: pageSize, startIndex: startIndex, filter: filter);

                if (collection == null || collection.Items == null || collection.Items.Count < 1)
                {
                    return null;
                }
                if (collection.PageSize != pageSize)
                {
                    // clamp our page size if it was too big
                    pageSize = collection.PageSize;
                }
                if (pageCount == 0)
                {
                    pageCount = collection.PageCount;
                }

                foreach (ProductReservation p in collection.Items)
                {
                    list.Add(p);
                }

                currentPage++;
                startIndex += pageSize;
            }
            while (currentPage < pageCount);

            return list.ToArray();
        }