protected void doBody ( E element , CaptureLevel captureLevel ) throws JspException , IOException { JspFragment body = getJspBody ( ) ; if ( body != null ) { if ( captureLevel == CaptureLevel . BODY ) { final PageContext pageContext = ( PageContext ) getJspContext ( ) ; // Invoke tag body, capturing output BufferWriter capturedOut = AutoEncodingBufferedTag . newBufferWriter ( pageContext . getRequest ( ) ) ; try { body . invoke ( capturedOut ) ; } finally { capturedOut . close ( ) ; } element . setBody ( capturedOut . getResult ( ) . trim ( ) ) ; } else if ( captureLevel == CaptureLevel . META ) { // Invoke body for any meta data, but discard any output body . invoke ( NullWriter . getInstance ( ) ) ; } else { throw new AssertionError ( ) ; } } }
This is only called for captureLevel > = META .