code: func (p *csiPlugin) skipAttach(driver string) (bool, error) {
  	if !utilfeature.DefaultFeatureGate.Enabled(features.CSIDriverRegistry) {
  		return false, nil
  	}
  
  	kletHost, ok := p.host.(volume.KubeletVolumeHost)
  	if ok {
  		kletHost.WaitForCacheSync()
  	}
  
  	if p.csiDriverLister == nil {
  		return false, errors.New("CSIDriver lister does not exist")
  	}
  	csiDriver, err := p.csiDriverLister.Get(driver)
  	if err != nil {
  		if apierrs.IsNotFound(err) {
  			// Don't skip attach if CSIDriver does not exist
  			return false, nil
  		}
  		return false, err
  	}
  	if csiDriver.Spec.AttachRequired != nil && *csiDriver.Spec.AttachRequired == false {
  		return true, nil
  	}
  	return false, nil
  }
docs: // skipAttach looks up CSIDriver object associated with driver name
  // to determine if driver requires attachment volume operation