/**
  * Create a Netflix {@link RestClient} integrated with Ribbon if none already exists in the
  * application context. It is not required for Ribbon to work properly and is therefore created
  * lazily if ever another component requires it.
  *
  * @param config the configuration to use by the underlying Ribbon instance
  * @param loadBalancer the load balancer to use by the underlying Ribbon instance
  * @return a {@link RestClient} instances backed by Ribbon
  */
 @Bean
 @Lazy
 @ConditionalOnMissingBean
 public RestClient ribbonRestClient(
     IClientConfig config, ILoadBalancer loadBalancer, ServerIntrospector serverIntrospector) {
   RestClient client = new OverrideRestClient(config, serverIntrospector);
   client.setLoadBalancer(loadBalancer);
   Monitors.registerObject("Client_" + this.name, client);
   return client;
 }