Dimitry: I still believe your patch is invalid, as it would amount to synchronizing AT_BEGIN and NESTED variables after calling doStartTag(). However, the spec explicitly mentions that for tag handlers implementing BodyTag, those variables must not be synchronized after doStartTag(), *only* after doInitBody().
When I run your example (without applying your patch), I get this result: doStartTag returns EVAL_BODY_INCLUDE null 2nd 3rd doStartTag returns EVAL_BODY_BUFFERED 1st 2nd 3rd The reason your are getting "null" in the case of doStartTag() returning EVAL_BODY_INCLUDE is that in this case, doInitBody() is not called, hence no synchronization. However, if doStartTag() returns EVAL_BODY_BUFFERED, doInitBody() is being called, and therefore synchronization does take place. Please let me know if you disagree. Jan -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>