(jsp) usar EVAL_BODY_TAG no doAfterBody

Olá pessoal,

Estou estudando o livro Core Servlets & Jsp, o livro se baseia em uma especificação antiga dos Jsp’s, em um dos exemplos o autor demonstra como repetir o conteúdo do body várias vezes, ficando algo assim:

public class RepeatTag extends BodyTagSupport {
	private int repeats = 1;
	
	public void setReps(String r) {
		try {
			repeats = Integer.parseInt(r);
		} catch(NumberFormatException nfe) {
			repeats = 1;
		}
	}
	
	public int doAfterBody() throws JspException {
		if (repeats-- >= 1) {
			BodyContent bc = getBodyContent();
			try {
				JspWriter out = bc.getEnclosingWriter();
				out.print(bc.getString());
			} catch (IOException e) {				
			}			
			return EVAL_BODY_TAG;
		} else {
			return SKIP_BODY;
		}
	}
}

Entretanto o EVAL_BODY_TAG está obsoleto, tentei substitui-lo por EVAL_BODY_AGAIN mais o numero de repetições fica maior do que o valor da variável “repeats”. Alguém sabe pq isso ocorre?

Inf. Adicionais:
Tomcat 5

JSP que usa a tag:

<%@ taglib uri="WEB-INF/mytags.tld" prefix="csajsp" %>
<OL>
<csajsp:repeat reps='<%= request.getParameter("repeats") %>'>
<LI>Ola mundo
</csajsp:repeat>
</OL>

Posta o valor que vc tá passando no repeats e o código html gerado !

Estou chamando a página pl seguinte endereço:
http://localhost:8080/meus-jsp/UseCustomTag4.jsp?repeats=4

Código Html gerado:

<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Lomboz JSP</title>
</head>
<body bgcolor="#FFFFFF">

<OL>

<LI>Ola mundo

<LI>Ola mundo

<LI>Ola mundo

<LI>Ola mundo


<LI>Ola mundo

<LI>Ola mundo

<LI>Ola mundo

<LI>Ola mundo

<LI>Ola mundo

<LI>Ola mundo

</OL>

</body>
</html>