code: func (pm *VolumePluginMgr) FindExpandablePluginBySpec(spec *Spec) (ExpandableVolumePlugin, error) {
  	volumePlugin, err := pm.FindPluginBySpec(spec)
  	if err != nil {
  		if spec.IsKubeletExpandable() {
  			// for kubelet expandable volumes, return a noop plugin that
  			// returns success for expand on the controller
  			klog.V(4).Infof("FindExpandablePluginBySpec(%s) -> returning noopExpandableVolumePluginInstance", spec.Name())
  			return &noopExpandableVolumePluginInstance{spec}, nil
  		}
  		klog.V(4).Infof("FindExpandablePluginBySpec(%s) -> err:%v", spec.Name(), err)
  		return nil, err
  	}
  
  	if expandableVolumePlugin, ok := volumePlugin.(ExpandableVolumePlugin); ok {
  		return expandableVolumePlugin, nil
  	}
  	return nil, nil
  }
docs: // FindExpandablePluginBySpec fetches a persistent volume plugin by spec.