private async Task <List <KeyValuePair <long, StateEntity> > > ReadStates()
        {
            var query = new TableQuery <StateEntity>()
                        .Where(AzureStorageUtils.RangeQuery(this.partition, StateEntity.RK_MIN, StateEntity.RK_MAX));
            TableContinuationToken continuationToken = null;
            var results = new List <KeyValuePair <long, StateEntity> >();

            do
            {
                TableQuerySegment <StateEntity> queryResult = await table.ExecuteQuerySegmentedAsync(query, continuationToken).ConfigureAwait(false);

                foreach (var x in queryResult.Results)
                {
                    results.Add(new KeyValuePair <long, StateEntity>(x.SequenceId, x));
                }
                ;
                continuationToken = queryResult.ContinuationToken;
            } while (continuationToken != null);
            return(results);
        }