code: func (a *HorizontalController) updateStatus(hpa *autoscalingv2.HorizontalPodAutoscaler) error {
  	// convert back to autoscalingv1
  	hpaRaw, err := unsafeConvertToVersionVia(hpa, autoscalingv1.SchemeGroupVersion)
  	if err != nil {
  		a.eventRecorder.Event(hpa, v1.EventTypeWarning, "FailedConvertHPA", err.Error())
  		return fmt.Errorf("failed to convert the given HPA to %s: %v", autoscalingv2.SchemeGroupVersion.String(), err)
  	}
  	hpav1 := hpaRaw.(*autoscalingv1.HorizontalPodAutoscaler)
  
  	_, err = a.hpaNamespacer.HorizontalPodAutoscalers(hpav1.Namespace).UpdateStatus(hpav1)
  	if err != nil {
  		a.eventRecorder.Event(hpa, v1.EventTypeWarning, "FailedUpdateStatus", err.Error())
  		return fmt.Errorf("failed to update status for %s: %v", hpa.Name, err)
  	}
  	klog.V(2).Infof("Successfully updated status for %s", hpa.Name)
  	return nil
  }
docs: // updateStatus actually does the update request for the status of the given HPA