Utilização de lote em java

Estou com duvida sobre a utilização de Lote
public List EnvioDeDados() {
int i;
PreparedStatement stmt = null;
// ResultSet rs = null;
List listaDeRegisto = new ArrayList<>();
Connection con = Conectar.getConnection();
try {
final int batchSize =200;
int contar = 0;
for (String lista: listaDeRegisto){

        stmt = con.prepareStatement("select Nome, sobreNome,numeroFiscal,telefone,email,numeroCartao,morada,from Registo");
        stmt.addBatch();
        if(++contar%batchSize==0){
           stmt.executeBatch();
        
         ResultSet rs = stmt.executeQuery();
                  
        while (rs.next()) {

            String c = (" insert into Registo(Nome,sobreNome,numeroFiscal,telefone,email,numeroCartao,morada)values('" + rs.getString(1) + "', " + rs.getString(2) + ", '" + rs.getString(3) + "'," + rs.getString(4) + ",'" + rs.getString(5) + "','" + rs.getString(6) + "','" + rs.getString(7) + "')");
            listaDeRegisto.add(c);

        }
        } 
        }
        stmt.executeBatch();
        stmt.close();
    } catch (SQLException ex) {
        System.out.println(ex.getMessage());
        return listaDeRegisto;
    } finally {
        
        Conectar.closeConnection(con, stmt, rs);

    }

    return listaDeRegisto;

}

Qual?

Preciso enviar 200 registo em cada vez para outra máquina remota. minha dúvida é se meu código esta correto .

Esta retornar null