code: func (config *DirectClientConfig) getContext() (clientcmdapi.Context, error) {
  	contexts := config.config.Contexts
  	contextName, required := config.getContextName()
  
  	mergedContext := clientcmdapi.NewContext()
  	if configContext, exists := contexts[contextName]; exists {
  		mergo.MergeWithOverwrite(mergedContext, configContext)
  	} else if required {
  		return clientcmdapi.Context{}, fmt.Errorf("context %q does not exist", contextName)
  	}
  	mergo.MergeWithOverwrite(mergedContext, config.overrides.Context)
  
  	return *mergedContext, nil
  }
docs: // getContext returns the clientcmdapi.Context, or an error if a required context is not found.