code: func (config *DeferredLoadingClientConfig) ClientConfig() (*client.Config, error) {
  	mergedClientConfig, err := config.createClientConfig()
  	if err != nil {
  		return nil, err
  	}
  	mergedConfig, err := mergedClientConfig.ClientConfig()
  	if err != nil {
  		return nil, err
  	}
  	// Are we running in a cluster and were no other configs found? If so, use the in-cluster-config.
  	icc := inClusterClientConfig{}
  	defaultConfig, err := DefaultClientConfig.ClientConfig()
  	if icc.Possible() && err == nil && reflect.DeepEqual(mergedConfig, defaultConfig) {
  		glog.V(2).Info("No kubeconfig could be created, falling back to service account.")
  		return icc.ClientConfig()
  	}
  
  	return mergedConfig, nil
  }
docs: // ClientConfig implements ClientConfig