protected TResult Result(T[] items, int totalItemCount, int pageIndex, int pageSize, int maxPageSize)
        {
            if (pageSize > 0)
            {
                pageSize = QueryableHelper.GetEffectivePageSize(pageSize, maxPageSize);
            }
            else
            {
                pageSize = pageIndex = 0;
            }

            return(new TResult
            {
                Items = items,
                TotalItemCount = totalItemCount,
                PageIndex = pageIndex,
                PageSize = pageSize,
            });
        }