code: func (in *PersistentVolumeSpec) DeepCopyInto(out *PersistentVolumeSpec) {
  	*out = *in
  	if in.Capacity != nil {
  		in, out := &in.Capacity, &out.Capacity
  		*out = make(ResourceList, len(*in))
  		for key, val := range *in {
  			(*out)[key] = val.DeepCopy()
  		}
  	}
  	in.PersistentVolumeSource.DeepCopyInto(&out.PersistentVolumeSource)
  	if in.AccessModes != nil {
  		in, out := &in.AccessModes, &out.AccessModes
  		*out = make([]PersistentVolumeAccessMode, len(*in))
  		copy(*out, *in)
  	}
  	if in.ClaimRef != nil {
  		in, out := &in.ClaimRef, &out.ClaimRef
  		*out = new(ObjectReference)
  		**out = **in
  	}
  	if in.MountOptions != nil {
  		in, out := &in.MountOptions, &out.MountOptions
  		*out = make([]string, len(*in))
  		copy(*out, *in)
  	}
  	if in.VolumeMode != nil {
  		in, out := &in.VolumeMode, &out.VolumeMode
  		*out = new(PersistentVolumeMode)
  		**out = **in
  	}
  	if in.NodeAffinity != nil {
  		in, out := &in.NodeAffinity, &out.NodeAffinity
  		*out = new(VolumeNodeAffinity)
  		(*in).DeepCopyInto(*out)
  	}
  	return
  }
docs: // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.