Sorry for the reformatting Russel, it was a bit compact for my eyes
Steve, do you always use the option iterator to fetch the arguments from the CommandLine ? Or do you use getOptionValues() ? I'm comparing the code in 1.0 and 1.1, if I understand well the result should be the same in both versions with getOptionValues(). But the output of iterator() is clearly not compatible.
Why is it important to keep the repeated options isolated instead of grouping their values ? That looks equivalent to me. Unless you start having several values per option, and the number of values may vary. Something like :
grantaccess --user scott admin --user tom --user dean manager
This example can't be properly interpreted with CLI 1.1, it returns a list with the names and the roles and it's impossible to know what value is a name or a role because the number of values per option is not the same. It could be worked around by changing the format to --user name:role, but that's the only use case I can imagine that requires the original behavior of iterator().