return arg;
	public int parse(String argv[]) throws IOException {		int arg = 0;		while (arg < argv.length) {			String option = argv[arg];			if (!option.startsWith("-"))				break;			String optionExtraPart = "";			int colon = option.indexOf(':');			if (colon >= 0) {				optionExtraPart = option.substring(colon + 1);				option = option.substring(0, colon);			}			if (optionDescriptionMap.get(option) == null)				throw new IllegalArgumentException("Unknown option: " + option);			if (requiresArgumentSet.contains(option)) {				++arg;				if (arg >= argv.length)					throw new IllegalArgumentException("Option " + option + " requires an argument");				String argument = argv[arg];				handleOptionWithArgument(option, argument);				++arg;			} else {				handleOption(option, optionExtraPart);				++arg;			}		}		return arg;	}