code: func (namespaceStrategy) PrepareForCreate(ctx context.Context, obj runtime.Object) {
  	// on create, status is active
  	namespace := obj.(*api.Namespace)
  	namespace.Status = api.NamespaceStatus{
  		Phase: api.NamespaceActive,
  	}
  	// on create, we require the kubernetes value
  	// we cannot use this in defaults conversion because we let it get removed over life of object
  	hasKubeFinalizer := false
  	for i := range namespace.Spec.Finalizers {
  		if namespace.Spec.Finalizers[i] == api.FinalizerKubernetes {
  			hasKubeFinalizer = true
  			break
  		}
  	}
  	if !hasKubeFinalizer {
  		if len(namespace.Spec.Finalizers) == 0 {
  			namespace.Spec.Finalizers = []api.FinalizerName{api.FinalizerKubernetes}
  		} else {
  			namespace.Spec.Finalizers = append(namespace.Spec.Finalizers, api.FinalizerKubernetes)
  		}
  	}
  }
docs: // PrepareForCreate clears fields that are not allowed to be set by end users on creation.