public OAuth1aTokenBuilder putAll(Map<String, String> params) {
        requireNonNull(params, "params");
        for (Entry<String, String> param : params.entrySet()) {
            final String key = param.getKey();
            final String value = param.getValue();

            // Empty values are ignored.
            if (!isNullOrEmpty(key) && !isNullOrEmpty(value)) {
                put(key, value);
            }
        }
        return this;
    }
Sets the specified {@link Map}. If the key in the {@link Map} is not one of the
pre-defined parameters, then the key-value pair is set as an additional parameter.
If the key is one of the pre-defined parameters, then the corresponding property is
automatically set.

<pre>{@code
OAuth1aToken.builder().putAll(Map.of("oauth_signature_method", "foo"
                                     "oauth_signature", "bar"));
// is equivalent to
OAuth1aToken.builder().signatureMethod("foo")
                      .signature("bar");
}</pre>
core/src/main/java/com/linecorp/armeria/common/auth/OAuth1aTokenBuilder.java