code: private int parseArgument(String[] args, int index, ConfigurationOption option) throws BadCommandLineException {
  		int recognized = 0;
  		String arg = args[index];
  		String argumentName = getArgumentName(option.optionName());
  
  		if (arg.startsWith(argumentName)) {
  			recognized++;
  
  			try {
  				if (arg.length() > argumentName.length()) {
  					applyConfigurationOption(globalConfiguration, option, arg.substring(argumentName.length()).trim());
  				}
  				else {
  					applyConfigurationOption(globalConfiguration, option, args[index + 1].trim());
  					recognized++;
  				}
  			}
  			catch (ClassNotFoundException e) {
  				throw new BadCommandLineException("Invalid class", e);
  			}
  			catch (IOException e) {
  				throw new BadCommandLineException("Failed to read from file", e);
  			}
  		}
  
  		return recognized;
  	}
docs: Parse argument at a given index and apply it to global configuration. Option value may go within the same
  argument (separated with equals), or as a following argument.
  
  @param args
  list of arguments
  @param index
  current index
  @param optionName
  the option to match
  @return number of arguments processed