protected Collection<Event> resolveCandidateAuthenticationEvents(final RequestContext context,
                                                                     final Service service,
                                                                     final RegisteredService registeredService) {
        return orderedResolvers
            .stream()
            .filter(BeanSupplier::isNotProxy)
            .map(Unchecked.function(resolver -> {
                LOGGER.debug("Resolving candidate authentication event for service [{}] using [{}]", service, resolver.getName());
                return resolver.resolveSingle(context);
            }))
            .filter(Objects::nonNull)
            .sorted(Comparator.comparing(Event::getId))
            .collect(Collectors.toList());
    }
This is {@link DefaultCasDelegatingWebflowEventResolver},
which handles the initial authentication attempt and calls upon a number of
embedded resolvers to produce the next event in the authentication flow.

@author Misagh Moayyed
@since 5.0.0
core/cas-server-core-webflow-api/src/main/java/org/apereo/cas/web/flow/resolver/impl/DefaultCasDelegatingWebflowEventResolver.java