if (handler == null)
handler = this; // do default actions
try {
boolean handleContents = handler.doStartTag(session, out, parent, node);
// Unless the handler told us to skip them, then iterate over any children
if (handleContents) {
if (handler != null && handler instanceof IteratingTagHandler) {
// recurse as many times as the tag wants