@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;
	}
@ 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 && ( 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 ; }
Parse and apply plugin configuration options.

@return number of consumed argument options