Code review comment: @radcortez could you have a look at this? I wonder if it's not a side effect of one of your patches and might be undesired?

Code before review:
public OidcClient apply(String tokenRequestUri, Throwable t) {
if (t != null) {
throw toOidcClientException(authServerUri.toString(), t);
}
if (tokenRequestUri == null) {
throw new ConfigurationException(
"OpenId Connect Provider token endpoint URL is not configured and can not be discovered");
}
MultiMap tokenGrantParams = new MultiMap(io.vertx.core.MultiMap.caseInsensitiveMultiMap());
String grantType = oidcConfig.grant.getType() == Grant.Type.CLIENT
? OidcConstants.CLIENT_CREDENTIALS_GRANT
: OidcConstants.PASSWORD_GRANT;
setGrantClientParams(oidcConfig, tokenGrantParams, grantType);
if (oidcConfig.getGrantOptions() != null) {
Map<String, String> grantOptions = oidcConfig.getGrantOptions()
.get(oidcConfig.grant.getType().name().toLowerCase());
if (oidcConfig.grant.getType() == Grant.Type.PASSWORD) {
tokenGrantParams.add(OidcConstants.PASSWORD_GRANT_USERNAME,
grantOptions.get(OidcConstants.PASSWORD_GRANT_USERNAME));
tokenGrantParams.add(OidcConstants.PASSWORD_GRANT_PASSWORD,
grantOptions.get(OidcConstants.PASSWORD_GRANT_PASSWORD));
} else if (grantOptions != null && oidcConfig.grant.getType() == Grant.Type.CLIENT) {
tokenGrantParams.addAll(grantOptions);
}
}
MultiMap commonRefreshGrantParams = new MultiMap(io.vertx.core.MultiMap.caseInsensitiveMultiMap());
setGrantClientParams(oidcConfig, commonRefreshGrantParams, OidcConstants.REFRESH_TOKEN_GRANT);
return new OidcClientImpl(client, tokenRequestUri, grantType, tokenGrantParams,
commonRefreshGrantParams,
oidcConfig);
}

Line under review: if (oidcConfig.getGrantOptions() != null) {

Code after addressing the review:
public OidcClient apply(String tokenRequestUri, Throwable t) {
if (t != null) {
throw toOidcClientException(authServerUri.toString(), t);
}
if (tokenRequestUri == null) {
throw new ConfigurationException(
"OpenId Connect Provider token endpoint URL is not configured and can not be discovered");
}
MultiMap tokenGrantParams = new MultiMap(io.vertx.core.MultiMap.caseInsensitiveMultiMap());
String grantType = oidcConfig.grant.getType() == Grant.Type.CLIENT
? OidcConstants.CLIENT_CREDENTIALS_GRANT
: OidcConstants.PASSWORD_GRANT;
setGrantClientParams(oidcConfig, tokenGrantParams, grantType);
if (oidcConfig.getGrantOptions() != null) {
Map<String, String> grantOptions = oidcConfig.getGrantOptions()
.get(oidcConfig.grant.getType().name().toLowerCase());
if (oidcConfig.grant.getType() == Grant.Type.PASSWORD) {
tokenGrantParams.add(OidcConstants.PASSWORD_GRANT_USERNAME,
grantOptions.get(OidcConstants.PASSWORD_GRANT_USERNAME));
tokenGrantParams.add(OidcConstants.PASSWORD_GRANT_PASSWORD,
grantOptions.get(OidcConstants.PASSWORD_GRANT_PASSWORD));
} else if (grantOptions != null && oidcConfig.grant.getType() == Grant.Type.CLIENT) {
tokenGrantParams.addAll(grantOptions);
}
}
MultiMap commonRefreshGrantParams = new MultiMap(io.vertx.core.MultiMap.caseInsensitiveMultiMap());
setGrantClientParams(oidcConfig, commonRefreshGrantParams, OidcConstants.REFRESH_TOKEN_GRANT);
return new OidcClientImpl(client, tokenRequestUri, grantType, tokenGrantParams,
commonRefreshGrantParams,
oidcConfig);
}