code: func (c *Config) Copy() *Config {
  	var o Config
  
  	o.Consul = c.Consul
  
  	if c.Consul != nil {
  		o.Consul = c.Consul.Copy()
  	}
  
  	if c.Dedup != nil {
  		o.Dedup = c.Dedup.Copy()
  	}
  
  	if c.Exec != nil {
  		o.Exec = c.Exec.Copy()
  	}
  
  	o.KillSignal = c.KillSignal
  
  	o.LogLevel = c.LogLevel
  
  	o.MaxStale = c.MaxStale
  
  	o.PidFile = c.PidFile
  
  	o.ReloadSignal = c.ReloadSignal
  
  	if c.Syslog != nil {
  		o.Syslog = c.Syslog.Copy()
  	}
  
  	if c.Templates != nil {
  		o.Templates = c.Templates.Copy()
  	}
  
  	if c.Vault != nil {
  		o.Vault = c.Vault.Copy()
  	}
  
  	if c.Wait != nil {
  		o.Wait = c.Wait.Copy()
  	}
  
  	return &o
  }
docs: // Copy returns a deep copy of the current configuration. This is useful because
  // the nested data structures may be shared.