code: func newContext(ctx context.Context, resource, name string, gvk schema.GroupVersionKind) context.Context {
  	oldInfo, found := genericapirequest.RequestInfoFrom(ctx)
  	if !found {
  		return ctx
  	}
  	newInfo := genericapirequest.RequestInfo{
  		IsResourceRequest: true,
  		Verb:              "get",
  		Namespace:         oldInfo.Namespace,
  		Resource:          resource,
  		Name:              name,
  		Parts:             []string{resource, name},
  		APIGroup:          gvk.Group,
  		APIVersion:        gvk.Version,
  	}
  	return genericapirequest.WithRequestInfo(ctx, &newInfo)
  }
docs: // newContext return a copy of ctx in which new RequestInfo is set