private void removeSsoSessionsForSessionIndexes(final HttpServletRequest request,
                                                    final HttpServletResponse response,
                                                    final SessionKeyCredentials sessionKeyCredentials) {
        val sessionKey = sessionKeyCredentials.getSessionKey();
        LOGGER.debug("Destroying SSO session for OIDC authn delegation for session key: [{}]", sessionKey);
        ticketRegistry
            .getSessionsWithAttributes(Map.of("sid", List.of(Objects.requireNonNull(sessionKey))))
            .filter(ticket -> !ticket.isExpired())
            .map(TicketGrantingTicket.class::cast)
            .findFirst()
            .ifPresent(ticket -> singleLogoutRequestExecutor.execute(ticket.getId(), request, response));
    }
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