Variável recriada pegando valor antigo em loop!

Neste trecho de código, a variável registro, assim que é recriada na segunda passada do loop, já assume o valor da passada anterior! O que acontece aqui??

		for (int registroAtual = 1; registroAtual <= totalRegistros90; registroAtual++) {

			RegistroTipo90 registro = new RegistroTipo90();

			registro = /* (...) */
			
			output.add(registro.toString());
		}

Sério cara, não entendi o que vc quer fazer…
Vc quer que a cada a nova criação de registro, ela (a variável) receba o registro atual?
Flw!

Olá, Skalinichenko! Desculpe não ter sido claro o suficiente!

Aquela classe RegistroTipo90 só serve para montar uma string. Então eu vou jogando valores nela e, no final, passo a string que ela monta para um OutputStream. O problema é que na segunda passada do loop (não testei mais passadas) a variável, ao ser criada, automaticamente assume o valor que tinha na primeira passada do loop! Tipo um resssucitamento! Algo fantástico e inimaginável! Algo que só acontece a cada passagem do cometa Halley, dependendo do alinhamentos de Plutão e Mercúrio…!

Eu simplesmente não consigo entender o porque! Parece um daqueles sonhos em que algo extremamente corriqueiro passa a não fazer sentido…

Infelizmente tive que criar um workaround para resolver este problema estranhíssimo. Logo depois de criar, tive que limpar a variável!

Bom, caso alguém tenha alguma idéia do que possa estar acontecendo, ficaria muito feliz em deixar o meu código mais descente.

Abraços.