code: func (statefulSetStrategy) PrepareForUpdate(ctx context.Context, obj, old runtime.Object) {
  	newStatefulSet := obj.(*apps.StatefulSet)
  	oldStatefulSet := old.(*apps.StatefulSet)
  	// Update is not allowed to set status
  	newStatefulSet.Status = oldStatefulSet.Status
  
  	pod.DropDisabledTemplateFields(&newStatefulSet.Spec.Template, &oldStatefulSet.Spec.Template)
  
  	// Any changes to the spec increment the generation number, any changes to the
  	// status should reflect the generation number of the corresponding object.
  	// See metav1.ObjectMeta description for more information on Generation.
  	if !apiequality.Semantic.DeepEqual(oldStatefulSet.Spec, newStatefulSet.Spec) {
  		newStatefulSet.Generation = oldStatefulSet.Generation + 1
  	}
  
  }
docs: // PrepareForUpdate clears fields that are not allowed to be set by end users on update.