docs: private static void run(String[] args) {
  		try {
  			LOG.debug("All environment variables: {}", ENV);
  
  			final String currDir = ENV.get(Environment.PWD.key());
  			LOG.info("Current working Directory: {}", currDir);
  
  			final Configuration configuration = GlobalConfiguration.loadConfiguration(currDir);
  
  			//TODO provide path.
  			FileSystem.initialize(configuration, PluginUtils.createPluginManagerFromRootFolder(Optional.empty()));
  
  			setupConfigurationAndInstallSecurityContext(configuration, currDir, ENV);
  
  			final String containerId = ENV.get(YarnResourceManager.ENV_FLINK_CONTAINER_ID);
  			Preconditions.checkArgument(containerId != null,
  				"ContainerId variable %s not set", YarnResourceManager.ENV_FLINK_CONTAINER_ID);
  
  			SecurityUtils.getInstalledContext().runSecured((Callable<Void>) () -> {
  				TaskManagerRunner.runTaskManager(configuration, new ResourceID(containerId));
  				return null;
  			});
  		}
  		catch (Throwable t) {
  			final Throwable strippedThrowable = ExceptionUtils.stripException(t, UndeclaredThrowableException.class);
  			// make sure that everything whatever ends up in the log
  			LOG.error("YARN TaskManager initialization failed.", strippedThrowable);
  			System.exit(INIT_ERROR_EXIT_CODE);
  		}
  	}