public static SlingJakartaHttpServletResponseImpl unwrap()

in src/main/java/org/apache/sling/engine/impl/request/RequestData.java [404:429]


    public static SlingJakartaHttpServletResponseImpl unwrap(SlingJakartaHttpServletResponse response) {
        while (response instanceof SlingJakartaHttpServletResponseWrapper) {
            response = ((SlingJakartaHttpServletResponseWrapper) response).getSlingResponse();
        }

        // javax to jakarta wrapper?
        if (response instanceof JavaxToJakartaResponseWrapper) {
            javax.servlet.ServletResponse res = ((JavaxToJakartaResponseWrapper) response).getResponse();
            while (res instanceof javax.servlet.ServletResponseWrapper) {
                res = ((javax.servlet.ServletResponseWrapper) res).getResponse();
            }
            if (res instanceof JakartaToJavaxResponseWrapper) {
                final ServletResponse r = ((JakartaToJavaxResponseWrapper) res).getResponse();
                if (r instanceof SlingJakartaHttpServletResponse) {
                    return unwrap((SlingJakartaHttpServletResponse) r);
                }
                throw new IllegalArgumentException("SlingJakartaHttpServletResponse not of correct type: " + r);
            }
            throw new IllegalArgumentException("SlingJakartaHttpServletResponse not of correct type: " + res);
        }
        if (response instanceof SlingJakartaHttpServletResponseImpl) {
            return (SlingJakartaHttpServletResponseImpl) response;
        }

        throw new IllegalArgumentException("SlingJakartaHttpServletResponse not of correct type: " + response);
    }