@Override
 public ParserState onNonOption(String arg) {
   commandLine.addExtraValue(arg);
   return allowMixedOptions
       ? new AfterFirstSubCommand(commandLine)
       : new AfterOptions(commandLine);
 }
 @Override
 public ParserState onComplete() {
   commandLine.addExtraValue(arg);
   return state;
 }
 @Override
 public ParserState onNonOption(String arg) {
   commandLine.addExtraValue(arg);
   return this;
 }