code: func (d *memCacheClient) ServerResourcesForGroupVersion(groupVersion string) (*metav1.APIResourceList, error) {
  	d.lock.Lock()
  	defer d.lock.Unlock()
  	if !d.cacheValid {
  		if err := d.refreshLocked(); err != nil {
  			return nil, err
  		}
  	}
  	cachedVal, ok := d.groupToServerResources[groupVersion]
  	if !ok {
  		return nil, ErrCacheNotFound
  	}
  
  	if cachedVal.err != nil && isTransientError(cachedVal.err) {
  		r, err := d.serverResourcesForGroupVersion(groupVersion)
  		if err != nil {
  			utilruntime.HandleError(fmt.Errorf("couldn't get resource list for %v: %v", groupVersion, err))
  		}
  		cachedVal = &cacheEntry{r, err}
  		d.groupToServerResources[groupVersion] = cachedVal
  	}
  
  	return cachedVal.resourceList, cachedVal.err
  }
docs: // ServerResourcesForGroupVersion returns the supported resources for a group and version.