docs: protected AuroraController getController()
        throws ClassNotFoundException, InstantiationException, IllegalAccessException {
      Boolean cliController = config.getBooleanValue(Key.AURORA_CONTROLLER_CLASS);
      Config localConfig = Config.toLocalMode(this.config);
      if (cliController) {
        return new AuroraCLIController(
            Runtime.topologyName(runtime),
            Context.cluster(localConfig),
            Context.role(localConfig),
            Context.environ(localConfig),
            AuroraContext.getHeronAuroraPath(localConfig),
            Context.verbose(localConfig));
      } else {
        return new AuroraHeronShellController(
            Runtime.topologyName(runtime),
            Context.cluster(localConfig),
            Context.role(localConfig),
            Context.environ(localConfig),
            AuroraContext.getHeronAuroraPath(localConfig),
            Context.verbose(localConfig),
            localConfig);
      }
    }