code: func (a *APIInstaller) Install() ([]metav1.APIResource, *restful.WebService, []error) {
  	var apiResources []metav1.APIResource
  	var errors []error
  	ws := a.newWebService()
  
  	// Register the paths in a deterministic (sorted) order to get a deterministic swagger spec.
  	paths := make([]string, len(a.group.Storage))
  	var i int = 0
  	for path := range a.group.Storage {
  		paths[i] = path
  		i++
  	}
  	sort.Strings(paths)
  	for _, path := range paths {
  		apiResource, err := a.registerResourceHandlers(path, a.group.Storage[path], ws)
  		if err != nil {
  			errors = append(errors, fmt.Errorf("error in registering resource: %s, %v", path, err))
  		}
  		if apiResource != nil {
  			apiResources = append(apiResources, *apiResource)
  		}
  	}
  	return apiResources, ws, errors
  }
docs: // Install handlers for API resources.