O result set É fechado sozinho

BEM GENTE ESTOU TENTANDO IMPRIMIR UMA LISTA DE LOCAIS DE ATENDIMENTO DE CADA CLIENTE DO MEU BANCO, O CLIENTE N° 1 POSSUI TRES LOCAIS DE ATENDIMENTO, QUANDO A CLASSE TERMINA DE IMPRIMIR A TERCEIRA ELA CAI NUMA EXCESSÃO DIZENDO A SEGUINTE MENSAGEM:

Operation not allowed after ResultSet closed

SEGUE O TRECHO DO CÓDIGO:

try {
con = Conexao.obtemConexao();
Statement stmt = con.createStatement();
String query = “select * from cliente”;
rs = stmt.executeQuery(query);

while(rs.next()){
String query2 = "select LOC_NOME, LOC_COD from local_atendimento WHERE CLI_COD = 1";// '" + rs.getString("CLI_COD") + "'" ;			
System.out.println("var loc " + rs.getInt("CLI_COD")+ " = new Array(300);");	
rs2 = stmt.executeQuery(query2);
		
int i= 1;
while(rs2.next()){					
	System.out.println(i);
	System.out.println("loc[i][0] = " + rs2.getString("LOC_COD"));
System.out.println("loc[i][0]= " + rs2.getString("LOC_NOME"));					
i++;
}
			
			
}
} catch (Exception e) {
	System.out.println("Ó meu, infelizmente ocorreu um erro...");
	System.out.println(e.getMessage());
	System.exit(0);
	}
	finally{
		try{
			//con.close();
			//rs.close();
		}catch(Exception e){
			System.out.println("Ó meu, infelizmente ocorreu um erro AO FECHAR...");
			System.out.println(e.getMessage());
			System.exit(0);
		}
	}
}

O objeto ResultSet fica atrelado ao objeto Statement até que ele termine o serviço, portanto, não deve usar o mesmo Statement para duas queries diferentes no mesmo laço.

dica1: quando for postar código, coloque-o entre as tags [ code]seucodigo[ /code], assim ele fica endentado

dica2:

Obrigado Meu velho, deu certo!!!

Fiz o seguinte :

Statement stmt2 = con.createStatement();

e

rs2 = stmt2.executeQuery(query2);

Falow