@Nullable
    default Locale selectLocale(Locale... supportedLocales) {
        return selectLocale(ImmutableList.copyOf(requireNonNull(supportedLocales, "supportedLocales")));
    }
Matches the {@link Locale}s supported by the server to
the {@link HttpHeaderNames#ACCEPT_LANGUAGE} and returning the best match
according to client preference. It does this via <s>Basic Filter</s>ing each
{@link LanguageRange} and picking the first match. This is the "classic"
algorithm described in
<a href="https://datatracker.ietf.org/doc/html/rfc2616#section-14.4">RFC2616 Accept-Language (obsoleted)</a>
and also referenced in
<a href="https://datatracker.ietf.org/doc/html/rfc7231#section-5.3.5">RFC7231 Accept-Language</a>.

@param supportedLocales {@link Locale}s supported by the server.

@return The best matching {@link Locale} or {@code null} if no {@link Locale} matches.
core/src/main/java/com/linecorp/armeria/common/HttpRequest.java