On pg. 107 of the JSP spec, it says that out = pageContext.popBody(); is executed after doAfterBody() when SKIP_BODY is returned, but before doEndTag(). So this means that all I have to do is return SKIP_BODY from doAfterBody() and the processed (unmodified in my case) body content will be output, right? - r