docs: protected void handleSloProfileRequest(final HttpServletResponse response,
                                             final HttpServletRequest request,
                                             final BaseHttpServletRequestXMLMessageDecoder decoder) throws Exception {
          val logout = getSamlProfileHandlerConfigurationContext().getCasProperties().getAuthn().getSamlIdp().getLogout();
          if (logout.isSingleLogoutCallbacksDisabled()) {
              LOGGER.info("Processing SAML2 IdP SLO requests is disabled");
              return;
          }
  
          val pair = getSamlProfileHandlerConfigurationContext().getSamlHttpRequestExtractor().extract(request, decoder, LogoutRequest.class);
          val logoutRequest = (LogoutRequest) pair.getKey();
          val ctx = pair.getValue();
  
          if (logout.isForceSignedLogoutRequests() && !SAMLBindingSupport.isMessageSigned(ctx)) {
              throw new SAMLException("Logout request is not signed but should be.");
          }
  
          if (SAMLBindingSupport.isMessageSigned(ctx)) {
              val entityId = SamlIdPUtils.getIssuerFromSamlObject(logoutRequest);
              LOGGER.trace("SAML logout request from entity id [{}] is signed", entityId);
              val registeredService = getSamlProfileHandlerConfigurationContext().getServicesManager().findServiceBy(entityId, SamlRegisteredService.class);
              LOGGER.trace("SAML registered service tied to [{}] is [{}]", entityId, registeredService);
              val facade = SamlRegisteredServiceServiceProviderMetadataFacade.get(
                  getSamlProfileHandlerConfigurationContext().getSamlRegisteredServiceCachingMetadataResolver(), registeredService, entityId).get();
              LOGGER.trace("Verifying signature on the SAML logout request for [{}]", entityId);
              getSamlProfileHandlerConfigurationContext().getSamlObjectSignatureValidator()
                  .verifySamlProfileRequestIfNeeded(logoutRequest, facade, request, ctx);
          }
          SamlUtils.logSamlObject(getSamlProfileHandlerConfigurationContext().getOpenSamlConfigBean(), logoutRequest);
          response.sendRedirect(getSamlProfileHandlerConfigurationContext().getCasProperties().getServer().getLogoutUrl());
      }