code: func (plugin *nfsPlugin) Recycle(pvName string, spec *volume.Spec, eventRecorder recyclerclient.RecycleEventRecorder) error {
  	if spec.PersistentVolume == nil || spec.PersistentVolume.Spec.NFS == nil {
  		return fmt.Errorf("spec.PersistentVolumeSource.NFS is nil")
  	}
  
  	pod := plugin.config.RecyclerPodTemplate
  	timeout := util.CalculateTimeoutForVolume(plugin.config.RecyclerMinimumTimeout, plugin.config.RecyclerTimeoutIncrement, spec.PersistentVolume)
  	// overrides
  	pod.Spec.ActiveDeadlineSeconds = &timeout
  	pod.GenerateName = "pv-recycler-nfs-"
  	pod.Spec.Volumes[0].VolumeSource = v1.VolumeSource{
  		NFS: &v1.NFSVolumeSource{
  			Server: spec.PersistentVolume.Spec.NFS.Server,
  			Path:   spec.PersistentVolume.Spec.NFS.Path,
  		},
  	}
  	return recyclerclient.RecycleVolumeByWatchingPodUntilCompletion(pvName, pod, plugin.host.GetKubeClient(), eventRecorder)
  }
docs: // Recycle recycles/scrubs clean an NFS volume.
  // Recycle blocks until the pod has completed or any error occurs.