code: public Properties getProperties(String name) {
          Properties props = new Properties();
          for (Option option : options) {
              if (name.equals(option.getName()) || name.equals(option.getLongName())) {
                  List<String> values = option.getValuesList();
                  if (values.size() >= 2) {
                      // use the first 2 arguments as the key/value pair
                      props.put(values.get(0), values.get(1));
                  } else if (values.size() == 1) {
                      // no explicit value, handle it as a boolean
                      props.put(values.get(0), "true");
                  }
              }
          }
          return props;
      }
docs: Retrieve the map of values associated to the option. This is convenient
  for options specifying Java properties like <code>-Dparam1=value1
  -Dparam2=value2</code>. The first argument of the option is the key, and
  the 2nd argument is the value. If the option has only one argument
  (<code>-Dfoo</code>) it is considered as a boolean flag and the value is
  <code>"true"</code>.
  
  @param name the name of the option
  @return the Properties mapped by the option, never {@code null}
  even if the option doesn't exists