code: protected int run(String[] args) {
  		// Parse command line options
  		CommandLine line;
  		try {
  			line = parser.parse(RUN_OPTIONS, args, false);
  			evaluateGeneralOptions(line);
  		}
  		catch (MissingOptionException e) {
  			System.out.println(e.getMessage());
  			printHelpForRun();
  			return 1;
  		}
  		catch (UnrecognizedOptionException e) {
  			System.out.println(e.getMessage());
  			printHelpForRun();
  			return 2;
  		}
  		catch (Exception e) {
  			return handleError(e);
  		}
  		
  		// ------------ check for help first --------------
  		
  		if (printHelp) {
  			printHelpForRun();
  			return 0;
  		}
  		
  		try {
  			PackagedProgram program = buildProgram(line);
  			if (program == null) {
  				printHelpForRun();
  				return 1;
  			}
  			
  			Client client = getClient(line);
  			if (client == null) {
  				printHelpForRun();
  				return 1;
  			}
  		
  			int parallelism = -1;
  			if (line.hasOption(PARALLELISM_OPTION.getOpt())) {
  				String parString = line.getOptionValue(PARALLELISM_OPTION.getOpt());
  				try {
  					parallelism = Integer.parseInt(parString);
  				} catch (NumberFormatException e) {
  					System.out.println("The value " + parString + " is invalid for the degree of parallelism.");
  					printHelpForRun();
  					return 1;
  				}
  				
  				if (parallelism <= 0) {
  					System.out.println("Invalid value for the degree-of-parallelism. Parallelism must be greater than zero.");
  					printHelpForRun();
  					return 1;
  				}
  			}
  		
  			return executeProgram(program, client, parallelism);
  		}
  		catch (Throwable t) {
  			return handleError(t);
  		}
  	}
docs: Executions the run action.
  
  @param args Command line arguments for the run action.