code: public static void main(String[] args) {
          BeanCodeGen gen;
          try {
              gen = createFromArgs(args);
          } catch (RuntimeException ex) {
              System.out.println(ex.getMessage());
              System.out.println("");
              System.out.println("Code generator");
              System.out.println("  Usage java org.joda.beans.gen.BeanCodeGen [file]");
              System.out.println("  Options");
              System.out.println("    -R                process all files recursively, default false");
              System.out.println("    -indent=tab       use a tab for indenting, default 4 spaces");
              System.out.println("    -indent=[n]       use n spaces for indenting, default 4");
              System.out.println("    -prefix=[p]       field prefix of p should be removed, no default");
              System.out.println("    -config=[f]       config file: 'jdk'/'guava', default guava");
              System.out.println("    -style=[s]        default bean style: 'light'/'minimal'/'full', default smart");
              System.out.println("    -verbose=[v]      output logging with verbosity from 0 to 3, default 1");
              System.out.println("    -nowrite          output messages rather than writing, default is to write");
              System.exit(0);
              throw new InternalError("Unreachable");
          }
          try {
              int changed = gen.process();
              System.out.println("Finished, found " + changed + " changed files");
              System.exit(0);
          } catch (Exception ex) {
              System.out.println();
              ex.printStackTrace(System.out);
              System.exit(1);
          }
      }
docs: Main method.
  <p>
  This calls {@code System.exit}.
  
  @param args  the arguments, not null