public OAuth2AuthorizationGrantBuilder fallbackTokenProvider(
            Supplier<CompletableFuture<? extends GrantedOAuth2AccessToken>> fallbackTokenProvider) {
        this.fallbackTokenProvider = requireNonNull(fallbackTokenProvider, "fallbackTokenProvider");
        return this;
    }
Sets an optional {@link Supplier} to acquire an access token before requesting it to the authorization
server. If the provided {@link GrantedOAuth2AccessToken} is valid, the client doesn't request a new
token.

<p>This is supposed to be used with {@link #newTokenConsumer(Consumer)} and gets executed
in the following cases:
<ul>
    <li>Before the first attempt to acquire an access token.</li>
    <li>Before a subsequent attempt after token issue or refresh failure.</li>
</ul>

@see #newTokenConsumer(Consumer)
oauth2/src/main/java/com/linecorp/armeria/client/auth/oauth2/OAuth2AuthorizationGrantBuilder.java