code: func (s *GenericAPIServer) installAPIResources(apiPrefix string, apiGroupInfo *APIGroupInfo, openAPIModels openapiproto.Models) error {
  	for _, groupVersion := range apiGroupInfo.PrioritizedVersions {
  		if len(apiGroupInfo.VersionedResourcesStorageMap[groupVersion.Version]) == 0 {
  			klog.Warningf("Skipping API %v because it has no resources.", groupVersion)
  			continue
  		}
  
  		apiGroupVersion := s.getAPIGroupVersion(apiGroupInfo, groupVersion, apiPrefix)
  		if apiGroupInfo.OptionsExternalVersion != nil {
  			apiGroupVersion.OptionsExternalVersion = apiGroupInfo.OptionsExternalVersion
  		}
  		apiGroupVersion.OpenAPIModels = openAPIModels
  		apiGroupVersion.MaxRequestBodyBytes = s.maxRequestBodyBytes
  
  		if err := apiGroupVersion.InstallREST(s.Handler.GoRestfulContainer); err != nil {
  			return fmt.Errorf("unable to setup API %v: %v", apiGroupInfo, err)
  		}
  	}
  
  	return nil
  }
docs: // installAPIResources is a private method for installing the REST storage backing each api groupversionresource