void doShutdown() {
   CLIENTS.remove(id);
   executionService.shutdown();
   partitionService.stop();
   clusterService.stop();
   transactionManager.shutdown();
   connectionManager.shutdown();
   proxyManager.destroy();
   serializationService.destroy();
 }
 private void start() {
   lifecycleService.setStarted();
   connectionManager.start();
   try {
     clusterService.start();
   } catch (IllegalStateException e) {
     // there was an authentication failure (todo: perhaps use an AuthenticationException
     // ??)
     lifecycleService.shutdown();
     throw e;
   }
   loadBalancer.init(getCluster(), config);
   partitionService.start();
 }