private void LoadFromState()
 {
     using (var gZipStream = new GZipStream(new MemoryStream(State.DataArray), CompressionMode.Decompress))
     {
         using (var decompressedStream = new MemoryStream())
         {
             gZipStream.CopyTo(decompressedStream);
             InternalState = JsonConvert.DeserializeObject <JobIndexState>(Encoding.UTF8.GetString(decompressedStream.ToArray()));
         }
     }
 }
        public override async Task OnActivateAsync()
        {
            await base.OnActivateAsync();

            if (State?.DataArray != null)
            {
                LoadFromState();
            }
            else
            {
                InternalState = new JobIndexState();
            }
        }