public boolean parseArgs(String[] args) {
DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
ArgumentBuilder abuilder = new ArgumentBuilder();
GroupBuilder gbuilder = new GroupBuilder();
Option helpOpt = DefaultOptionCreator.helpOption();
Option inputFileOpt = obuilder.withLongName("inputFile").withRequired(true).withArgument(
abuilder.withName("inputFile").withMinimum(1).withMaximum(1).create()).withDescription(
"The input file").withShortName("i").create();
Option outputFileOpt = obuilder.withLongName("outputFile").withRequired(true).withArgument(
abuilder.withName("outputFile").withMinimum(1).withMaximum(1).create()).withDescription(
"The output file").withShortName("o").create();
Option limitOpt = obuilder.withLongName("limit").withRequired(false).withArgument(
abuilder.withName("limit").withMinimum(1).withMaximum(1).create()).withDescription(
"Emit this many of the most frequent tags").withShortName("l").create();
Option cutoffOpt = obuilder.withLongName("cutoff").withRequired(false).withArgument(
abuilder.withName("cutoff").withMinimum(1).withMaximum(1).create()).withDescription(
"Drop tags with a count less than this number").withShortName("c").create();
Group group = gbuilder.withName("Options").withOption(inputFileOpt)
.withOption(outputFileOpt).withOption(limitOpt)