public boolean singleSignOnSessionExists(final RequestContext requestContext) {
        try {
            val authn = getSingleSignOnAuthenticationFrom(requestContext);
            if (authn.isPresent()) {
                LOGGER.trace("Located a valid ticket-granting ticket. Examining existing single sign-on session strategies...");
                val authentication = authn.get();
                val builder = configurationContext.getAuthenticationSystemSupport()
                    .establishAuthenticationContextFromInitial(authentication);
                LOGGER.trace("Recording and tracking initial authentication results in the request context");
                WebUtils.putAuthenticationResultBuilder(builder, requestContext);
                WebUtils.putAuthentication(authentication, requestContext);
                val strategy = configurationContext.getSingleSignOnParticipationStrategy();
                val ssoRequest = SingleSignOnParticipationRequest.builder()
                    .requestContext(requestContext)
                    .build();
                return FunctionUtils.doUnchecked(() -> strategy.supports(ssoRequest) && strategy.isParticipating(ssoRequest));
            }
        } catch (final AbstractTicketException e) {
            LOGGER.trace("Could not retrieve ticket id [{}] from registry.", e.getMessage());
        }
        LOGGER.trace("Ticket-granting ticket found in the webflow context is invalid or has expired");
        return false;
    }
Is there a current SSO session?

@param requestContext the request context
@return whether there is a current SSO session
support/cas-server-support-pac4j-core/src/main/java/org/apereo/cas/web/flow/DelegatedAuthenticationSingleSignOnEvaluator.java