code: func (p *ProcessingResult) ReadResultIntoStruct(s *structpb.Struct) error {
  	if len(p.ResultRaw) == 0 {
  		return nil
  	}
  	z, err := zlib.NewReader(bytes.NewReader(p.ResultRaw))
  	if err != nil {
  		return errors.Annotate(err, "failed to open the blob for zlib decompression").Err()
  	}
  	if err := (&jsonpb.Unmarshaler{}).Unmarshal(z, s); err != nil {
  		z.Close()
  		return errors.Annotate(err, "failed to decompress or deserialize the result").Err()
  	}
  	if err := z.Close(); err != nil {
  		return errors.Annotate(err, "failed to close zlib reader").Err()
  	}
  	return nil
  }
docs: // ReadResultIntoStruct deserializes the result into the protobuf.Struct.
  //
  // Does nothing if there's no results stored.