@Override
  public void start(StartContext context) throws StartException {
    final ExecutorService executorService = getExecutorServiceInjector().getValue();
    this.hostControllerConfigurationPersister =
        new HostControllerConfigurationPersister(
            environment, hostControllerInfo, executorService, extensionRegistry);
    setConfigurationPersister(hostControllerConfigurationPersister);
    prepareStepHandler.setExecutorService(executorService);
    ThreadFactory threadFactory =
        new JBossThreadFactory(
            new ThreadGroup("proxy-threads"),
            Boolean.FALSE,
            null,
            "%G - %t",
            null,
            null,
            doPrivileged(GetAccessControlContextAction.getInstance()));
    proxyExecutor = Executors.newCachedThreadPool(threadFactory);
    ThreadFactory pingerThreadFactory =
        new JBossThreadFactory(
            new ThreadGroup("proxy-pinger-threads"),
            Boolean.TRUE,
            null,
            "%G - %t",
            null,
            null,
            doPrivileged(GetAccessControlContextAction.getInstance()));
    pingScheduler = Executors.newScheduledThreadPool(PINGER_POOL_SIZE, pingerThreadFactory);

    super.start(context);
  }
 @Override
 public void start(StartContext context) throws StartException {
   final ExecutorService executorService = getExecutorServiceInjector().getValue();
   this.hostControllerConfigurationPersister =
       new HostControllerConfigurationPersister(environment, hostControllerInfo, executorService);
   setConfigurationPersister(hostControllerConfigurationPersister);
   prepareStepHandler.setExecutorService(executorService);
   super.start(context);
 }