code: protected void prepareForLoginPage(final RequestContext context) {
          val currentService = WebUtils.getService(context);
          val service = authenticationRequestServiceSelectionStrategies.resolveService(currentService, WebApplicationService.class);
  
          val request = WebUtils.getHttpServletRequestFromExternalWebflowContext(context);
          val response = WebUtils.getHttpServletResponseFromExternalWebflowContext(context);
          val webContext = new J2EContext(request, response, this.sessionStore);
  
          val urls = new LinkedHashSet<ProviderLoginPageConfiguration>();
          this.clients
              .findAllClients()
              .stream()
              .filter(client -> client instanceof IndirectClient && isDelegatedClientAuthorizedForService(client, service))
              .map(IndirectClient.class::cast)
              .forEach(client -> {
                  try {
                      val provider = buildProviderConfiguration(client, webContext, currentService);
                      provider.ifPresent(p -> {
                          urls.add(p);
                          if (p.isAutoRedirect()) {
                              WebUtils.putDelegatedAuthenticationProviderPrimary(context, p);
                          }
                      });
                  } catch (final Exception e) {
                      LOGGER.error("Cannot process client [{}]", client, e);
                  }
              });
  
          if (!urls.isEmpty()) {
              context.getFlowScope().put(FLOW_ATTRIBUTE_PROVIDER_URLS, urls);
          } else if (response.getStatus() != HttpStatus.UNAUTHORIZED.value()) {
              LOGGER.warn("No delegated authentication providers could be determined based on the provided configuration. "
                  + "Either no clients are configured, or the current access strategy rules prohibit CAS from using authentication providers for this request.");
          }
      }
docs: Prepare the data for the login page.
  
  @param context The current webflow context