private static Set<String> locateRegisteredServiceTypesSupported() {
        val subTypes = ReflectionUtils.findSubclassesInPackage(BaseRegisteredService.class, CentralAuthenticationService.NAMESPACE);
        return subTypes
            .stream()
            .filter(type -> !type.isInterface() && !Modifier.isAbstract(type.getModifiers()))
            .map(type -> FunctionUtils.doAndHandle(() -> {
                val service = (RegisteredService) type.getDeclaredConstructor().newInstance();
                return service.getFriendlyName() + '@' + service.getClass().getName();
            }))
            .filter(Objects::nonNull)
            .collect(Collectors.toSet());
    }
This is {@link DefaultCasServerProfileRegistrar}.

@author Misagh Moayyed
@since 5.2.0
support/cas-server-support-discovery-profile-core/src/main/java/org/apereo/cas/discovery/DefaultCasServerProfileRegistrar.java