code: @Override
  	public int parseArgument(Options opts, String[] args, int i) throws BadCommandLineException {
  		initLoggerIfNecessary(opts);
  
  		int recognized = 0;
  
  		String arg = args[i];
  		logger.trace("Argument[" + i + "] = " + arg);
  
  		if (arg.equals(getArgumentName(ConfigurationOption.APPLY_PLURAL_FORM.optionName()))) {
  			globalConfiguration.setApplyPluralForm(true);
  			return 1;
  		}
  		else if ((recognized = parseArgument(args, i, ConfigurationOption.CONTROL)) == 0
  		            && (recognized = parseArgument(args, i, ConfigurationOption.SUMMARY)) == 0
  		            && (recognized = parseArgument(args, i, ConfigurationOption.COLLECTION_INTERFACE)) == 0 // longer option name comes first
  		            && (recognized = parseArgument(args, i, ConfigurationOption.COLLECTION_IMPLEMENTATION)) == 0
  		            && (recognized = parseArgument(args, i, ConfigurationOption.INSTANTIATION_MODE)) == 0) {
  			if (arg.startsWith(getArgumentName(""))) {
  				throw new BadCommandLineException("Invalid argument " + arg);
  			}
  		}
  
  		return recognized;
  	}
docs: Parse and apply plugin configuration options.
  
  @return number of consumed argument options