Problema Loop For duplo

Pessoal, estou com problema no meu loop for… estou tentando pegar registro de 1000 em 1000 , só que meu loop ta estourando . Alguem poderia me ajudar ?

            int totalRegistros = Utility.safeLongToInt(enderecoControle.contaRegistros());  //pego o total de 5000 registros
            for (int i = 0; i < totalRegistros;) {
                List<Endereco> lista = enderecoControle.listar(i);   //Faço um sql paginado de OFF SET ? LIMIT 1000
                for (int j = 0; j < lista.size(); j++) {
                    Endereco endereco = lista.get(j);
                }
                i += lista.size();
            }

Favor postar o código completo.

Olha… vendo por cima… acredito que esse seu loop ta sendo feito erro…

antes de sair programando você deve analizar o que precisa ser feito… e então partir pro codigo… tenta fazer um teste de mesa, para você entender melhor, ou então debugar o loop que está fazendo…

Boa Sorte na Jornada.