@Override
    protected Event doInternalExecute(final RequestContext context) {
        val logoutRedirect = WebUtils.getLogoutRedirectUrl(context, String.class);
        if (StringUtils.isNotBlank(logoutRedirect)) {
            LOGGER.debug("Redirecting to [{}]", logoutRedirect);
            return eventFactory.event(this, CasWebflowConstants.TRANSITION_ID_REDIRECT);
        }
        val logoutPostUrl = WebUtils.getLogoutPostUrl(context);
        val logoutPostData = WebUtils.getLogoutPostData(context);
        if (StringUtils.isNotBlank(logoutPostUrl) && logoutPostData != null) {
            val flowScope = context.getFlowScope();
            flowScope.put("originalUrl", logoutPostUrl);
            flowScope.put("parameters", logoutPostData);
            LOGGER.debug("Submitting POST logout request to [{}] with parameters [{}]", logoutPostUrl, logoutPostData);
            return eventFactory.event(this, CasWebflowConstants.TRANSITION_ID_POST);
        }
        return eventFactory.event(this, CasWebflowConstants.TRANSITION_ID_FINISH);
    }
This is {@link FinishLogoutAction}.

@author Misagh Moayyed
@since 6.4.0
support/cas-server-support-actions-core/src/main/java/org/apereo/cas/web/flow/logout/FinishLogoutAction.java