code: func UpdateMissingOptsWithDefaultConfig(c *EndpointConfigOptions, d fab.EndpointConfig) fab.EndpointConfig {
  	s := &setter{}
  
  	s.set(c.timeout, nil, func() { c.timeout = d })
  	s.set(c.orderersConfig, nil, func() { c.orderersConfig = d })
  	s.set(c.ordererConfig, nil, func() { c.ordererConfig = d })
  	s.set(c.peersConfig, nil, func() { c.peersConfig = d })
  	s.set(c.peerConfig, nil, func() { c.peerConfig = d })
  	s.set(c.networkConfig, nil, func() { c.networkConfig = d })
  	s.set(c.networkPeers, nil, func() { c.networkPeers = d })
  	s.set(c.channelConfig, nil, func() { c.channelConfig = d })
  	s.set(c.channelPeers, nil, func() { c.channelPeers = d })
  	s.set(c.channelOrderers, nil, func() { c.channelOrderers = d })
  	s.set(c.tlsCACertPool, nil, func() { c.tlsCACertPool = d })
  	s.set(c.tlsClientCerts, nil, func() { c.tlsClientCerts = d })
  	s.set(c.cryptoConfigPath, nil, func() { c.cryptoConfigPath = d })
  
  	return c
  }
docs: // UpdateMissingOptsWithDefaultConfig will verify if any functions of the EndpointConfig were not updated with fabsdk's
  // WithConfigEndpoint(opts...) call, then use default EndpointConfig interface for these functions instead