@Override
    public Optional<InterruptResponse> forCurrentRequest(final RequestContext requestContext) {
        return FunctionUtils.doAndHandle(__ -> {
            val httpRequest = WebUtils.getHttpServletRequestFromExternalWebflowContext(requestContext);
            val cookieValue = casCookieBuilder.retrieveCookieValue(httpRequest);
            LOGGER.debug("Retrieved interrupt cookie value [{}]", cookieValue);
            return StringUtils.isNotBlank(cookieValue)
                ? Optional.ofNullable(MAPPER.readValue(EncodingUtils.decodeBase64ToString(cookieValue), InterruptResponse.class))
                : Optional.<InterruptResponse>empty();
        }, e -> Optional.<InterruptResponse>empty()).apply(requestContext);
    }
This is {@link SimpleInterruptTrackingEngine}.

@author Misagh Moayyed
@since 7.0.0
support/cas-server-support-interrupt-core/src/main/java/org/apereo/cas/interrupt/SimpleInterruptTrackingEngine.java