Thank you for the code Brian, a revamped builder could be included in the 1.x line, but I'm still hesitating on the proper way do to it. The existing OptionBuilder can't be changed due to binary compatibility issues, so another class has to provide the builder mechanism. I haven't found an elegant solution yet: "DefaultOptionBuilder" looks a bit heavy, "Options" is already used, "OptBuilder" is shorter but probably less explicit.
The solution might be to add chained withXXX() setters to the Option class. Building an option would then look like this:
new Option("f").withLongOpt("file").withDescription("Input file").withArg();
Any input on this matter is welcome.