code: public RemoteWebDriverBuilder addMetadata(String key, Object value) {
      if (ILLEGAL_METADATA_KEYS.contains(key)) {
        throw new IllegalArgumentException(key + " is a reserved key");
      }
      metadata.put(Objects.requireNonNull(key), Objects.requireNonNull(value));
      return this;
    }
docs: Adds metadata to the outgoing new session request, which can be used by intermediary of end
  nodes for any purpose they choose (commonly, this is used to request additional features from
  cloud providers, such as video recordings or to set the timezone or screen size). Neither
  parameter can be {@code null}.