@Override
    protected Event doExecuteInternal(final RequestContext requestContext) {
        val request = WebUtils.getHttpServletRequestFromExternalWebflowContext(requestContext);
        val clientCredential = WebUtils.getCredential(requestContext, ClientCredential.class);
        if (clientCredential != null && clientCredential.getCredentials() instanceof final SessionKeyCredentials sessionKeyCredentials) {
            val response = WebUtils.getHttpServletResponseFromExternalWebflowContext(requestContext);
            removeSsoSessionsForSessionIndexes(request, response, sessionKeyCredentials);
        }
        return success();
    }
This is {@link DelegatedClientOidcLogoutAction}.
<p>
The action takes into account the currently used PAC4J client which is stored
in the user profile. If the client is found, its logout action is executed.
<p>
Assumption: The PAC4J user profile should be in the user session during
logout, accessible with PAC4J Profile Manager. The Logout web flow should
make sure the user profile is present.

@author Misagh Moayyed
@since 7.1.0
support/cas-server-support-pac4j-oidc/src/main/java/org/apereo/cas/pac4j/web/flow/DelegatedClientOidcLogoutAction.java