protected override async Task <object[]> ReadRecord(CancellationToken cancellationToken)
        {
            try
            {
                if (!_tableResult.Any())
                {
                    return(null);
                }

                if (_currentReadRow >= _tableResult.Count())
                {
                    if (_token == null)
                    {
                        return(null);
                    }

                    _tableResult = await _tableReference.ExecuteQuerySegmentedAsync(_tableQuery, _token);

                    if (!_tableResult.Any())
                    {
                        return(null);
                    }

                    _token          = _tableResult.ContinuationToken;
                    _currentReadRow = 0;
                }

                var currentEntity = _tableResult.ElementAt(_currentReadRow);

                var row = GetRow(currentEntity);

                _currentReadRow++;

                return(row);
            }
            catch (Exception ex)
            {
                throw new ConnectionException("The azure storage table reader failed due to the following error: " + ex.Message, ex);
            }
        }