code: public void set(final String key, final String value) {
          if (key != null) {
              if (value == null) {
                  map.remove(key);
              } else {
                  final Argument argument;
                  if (key.startsWith("-D")) {
                      argument = createSystemProperty(key, value);
                  } else {
                      argument = create(key, value);
                  }
                  set(argument);
              }
          }
      }
docs: Sets a key/value pair to the collection of arguments. This guarantees only one value will be assigned to the
  argument key. A {@code null} value indicates the key should be removed.
  <p/>
  If the key starts with {@code -D} it's assumed it's a system property argument and the prefix will be stripped
  from the key when checking for uniqueness.
  
  @param key   the key for the argument
  @param value the value of the argument which may be {@code null}