code: func GetClientExtractorResult(c context.Context, inst *api.Instance) (*ClientExtractorResult, error) {
  	r := &model.ProcessingResult{
  		ProcID:   ClientExtractorProcID,
  		Instance: datastore.KeyForObj(c, (&model.Instance{}).FromProto(c, inst)),
  	}
  	switch err := datastore.Get(c, r); {
  	case err == datastore.ErrNoSuchEntity:
  		return nil, err
  	case err != nil:
  		return nil, transient.Tag.Apply(err)
  	case !r.Success:
  		return nil, errors.Reason("client extraction failed - %s", r.Error).Err()
  	}
  	out := &ClientExtractorResult{}
  	if err := r.ReadResult(out); err != nil {
  		return nil, errors.Annotate(err, "failed to parse the client extractor status").Err()
  	}
  	return out, nil
  }
docs: // GetClientExtractorResult returns results of client extractor processor.
  //
  // They contain a reference to the unpacked CIPD binary object in the Google
  // Storage.
  //
  // Returns:
  //   (result, nil) on success.
  //   (nil, datastore.ErrNoSuchEntity) if results are not available.
  //   (nil, transient-tagged error) on retrieval errors.
  //   (nil, non-transient-tagged error) if the client extractor failed.