code: public static void runEntryPoint(Class<? extends TextGroupEntryPoint> entryPointClass,
        Class<? extends Module> configModuleClass, String[] args) throws Exception {
      runEntryPointInternal(entryPointClass, args, configModuleClass);
    }
docs: Runs a {@link TextGroupEntryPoint}.  The entry point class will be injected using a {@link
  Injector} configured by two modules: a {@link com.bbn.bue.common.parameters.ParametersModule}
  initialized by loading the first (and required-to-be-only) argument in {@code args} and an
  instance of {@code configModuleClass} instantiated according to the rules of {@link
  ModuleUtils#instantiateModule(Class, Parameters)}.  This method will then call {@link
  TextGroupEntryPoint#run()} on the injected entry point object.
  
  This method also provides some convenient features for debugging, controlled by parameters:
  
  <ul>
  
  <li>{@code ccom.bbn.bue.common.debug.allowExceptionsToPassUncaught}: (default false) In
  production use, we always want to catch exceptions and explicitly exit to ensure a non-zero
  exit code (which the JVM does not guarantee).  However, sometimes in debugging it is useful to
  suppress this behavior, because it blocks IntelliJ's useful "break on uncaught exceptions only"
  option. Therefore we allow the user to disable it with this parameter.</li>
  
  <li>{@code com.bbn.bue.common.debug.graphGuiceDependenciesTo}: (default absent) If specified, a
  {@code dot} file for the Guice dependencies will be written to the specified file. If {@code
  com.bbn.bue.common.debug.skipExecution} is specified and true, the normal execution of the
  program will be skipped.</li>
  
  </ul>