code: @SuppressWarnings("unchecked")
      public static void main(@SuppressWarnings("ParameterCanBeLocal") String args[]) throws Exception {
  
          if(args == null || args.length == 0) {
              //Default values to run via the IDE
              args = new String[2];
              args[0] = "1";
              args[1] = "RandomTransactionBenchmarkTest";
          }
  
          // Delete the existing database so we start with a clean slate
          deleteDirectory(new File(DatabaseProvider.DATABASE_LOCATION));
  
          // Default Provider properties
          DatabaseProvider databaseProvider;
          BenchmarkTest benchmarkBenchmarkTest;
  
          // If the arguments exist through command line use them
          int databaseProviderIndex = Integer.valueOf(args[0]);
          String test = args[1];
          Class testClass = ApplicationClassFinder.INSTANCE.forName("com.onyxdevtools.benchmark." + test, null);
          Constructor<?> constructor = testClass.getConstructor(ProviderPersistenceManager.class);
          databaseProvider = DatabaseProvider.values()[databaseProviderIndex];
          benchmarkBenchmarkTest = (BenchmarkTest) constructor.newInstance(PersistenceProviderFactory.getPersistenceManager(databaseProvider));
  
          runTest(benchmarkBenchmarkTest);
  
          System.exit(0);
      }
docs: Main Class
  @param args Main arguments
  @throws Exception Generic Exception