private async Task <PaginationResult <BlockchainAsset> > GetAssetsAsync(int take, string continuation)
        {
            var apiResponse = await _runner.RunWithRetriesAsync(() => _api.GetAssetsAsync(take, continuation));

            ValidateContractValueIsNotNull(apiResponse);
            ValidateContractItemsIsNotNull(apiResponse.Items);

            return(PaginationResult.From(
                       apiResponse.Continuation,
                       apiResponse.Items.Select(a => new BlockchainAsset(a)).ToArray()));
        }