code: func (clientConfigFn ClientConfigFunc) clientForGroupVersion(gv schema.GroupVersion, negotiatedSerializer runtime.NegotiatedSerializer) (RESTClient, error) {
  	cfg, err := clientConfigFn()
  	if err != nil {
  		return nil, err
  	}
  	if negotiatedSerializer != nil {
  		cfg.ContentConfig.NegotiatedSerializer = negotiatedSerializer
  	}
  	cfg.GroupVersion = &gv
  	if len(gv.Group) == 0 {
  		cfg.APIPath = "/api"
  	} else {
  		cfg.APIPath = "/apis"
  	}
  
  	return rest.RESTClientFor(cfg)
  }
docs: // TODO require negotiatedSerializer.  leaving it optional lets us plumb current behavior and deal with the difference after major plumbing is complete