@Override
 public ParserState onStartNextArg() {
   if (option.getAllowsArguments() && values.isEmpty()) {
     return new MissingOptionArgState(this);
   }
   return onComplete();
 }
 @Override
 public boolean getHasArgument() {
   return option.getAllowsArguments();
 }