code: func UnversionedRESTClientFor(config *Config) (*RESTClient, error) {
  	if config.NegotiatedSerializer == nil {
  		return nil, fmt.Errorf("NegotiatedSerializer is required when initializing a RESTClient")
  	}
  
  	baseURL, versionedAPIPath, err := defaultServerUrlFor(config)
  	if err != nil {
  		return nil, err
  	}
  
  	transport, err := TransportFor(config)
  	if err != nil {
  		return nil, err
  	}
  
  	var httpClient *http.Client
  	if transport != http.DefaultTransport {
  		httpClient = &http.Client{Transport: transport}
  		if config.Timeout > 0 {
  			httpClient.Timeout = config.Timeout
  		}
  	}
  
  	versionConfig := config.ContentConfig
  	if versionConfig.GroupVersion == nil {
  		v := metav1.SchemeGroupVersion
  		versionConfig.GroupVersion = &v
  	}
  
  	return NewRESTClient(baseURL, versionedAPIPath, versionConfig, config.QPS, config.Burst, config.RateLimiter, httpClient)
  }
docs: // UnversionedRESTClientFor is the same as RESTClientFor, except that it allows
  // the config.Version to be empty.