@Override
    public Collection<SingleLogoutUrl> determineLogoutUrl(final RegisteredService registeredService,
                                                          final WebApplicationService singleLogoutService,
                                                          final Optional<HttpServletRequest> httpRequest) {
        return singleLogoutServiceLogoutUrlBuilders
            .stream()
            .sorted(Comparator.comparing(SingleLogoutServiceLogoutUrlBuilder::getOrder))
            .filter(builder -> builder.supports(registeredService, singleLogoutService, httpRequest))
            .map(builder -> builder.determineLogoutUrl(registeredService, singleLogoutService, httpRequest))
            .flatMap(Collection::stream)
            .collect(Collectors.toList());
    }
This is {@link ChainingSingleLogoutServiceLogoutUrlBuilder} which acts on a registered
service to determine how the logout url endpoint should be decided.

@author Misagh Moayyed
@since 5.0.0
core/cas-server-core-logout-api/src/main/java/org/apereo/cas/logout/slo/ChainingSingleLogoutServiceLogoutUrlBuilder.java