docs: public static Endpoint determineEndpointForRequest(final RequestAbstractType authnRequest,
                                                         final SamlRegisteredServiceServiceProviderMetadataFacade adaptor,
                                                         final String binding) {
          var endpoint = (Endpoint) null;
          if (authnRequest instanceof LogoutRequest) {
              endpoint = adaptor.getSingleLogoutService(binding);
          } else {
              val endpointReq = getAssertionConsumerServiceFromRequest(authnRequest, binding);
              endpoint = endpointReq == null
                  ? adaptor.getAssertionConsumerService(binding)
                  : endpointReq;
          }
  
          if (endpoint == null || StringUtils.isBlank(endpoint.getBinding())) {
              throw new SamlException("Assertion consumer service does not define a binding");
          }
          val location = StringUtils.isBlank(endpoint.getResponseLocation()) ? endpoint.getLocation() : endpoint.getResponseLocation();
          if (StringUtils.isBlank(location)) {
              throw new SamlException("Assertion consumer service does not define a target location");
          }
          return endpoint;
      }