@Override
 public <T> T getArgumentValue(String name) {
   Argument arg = cli.getArgument(name);
   if (arg == null) {
     return null;
   }
   return getArgumentValue(arg.getIndex());
 }
 @Override
 public String getRawValueForArgument(Argument arg) {
   List values = argumentValues.get(arg);
   if (values == null || values.isEmpty()) {
     return arg.getDefaultValue();
   }
   return values.get(0).toString();
 }