Não estou conseguindo preencher a JTable corretamente...Alguem pode me ajudar?

Aqui eu faço a consulta no banco e retorno para a tela a JTable, só que as linhas da tabela conten as mesmas informçãos da primeira linha :cry:… o q pode ser???
Estou tentando desde ontem mas não consegui mudar isso??? não tenho muita prática em java mas estou tentando fazer o meu tcc, e para piorar estou fazendo tudo sozinho… documentação, UML e programação, o ritmo ta frenético.

public JTable listaImovel(){
		List<Imovel> lista = new ArrayList<Imovel>();
		JTable tab = null;
		Imovel imo = null;
		try {
			 Resultado = Sql.executeQuery("SELECT pk_id_imovel,fk_id_cliente FROM imovel");
			 while (Resultado.next()) {
	            	imo = new Imovel();
	                imo.setCodigo(Resultado.getInt("pk_id_imovel"));
	                imo.setCodcliente(Resultado.getInt("fk_id_cliente"));
					lista.add(imo);
	            }
			 
			 String[][] dados = new String[lista.size()][];
			 int i = 0;
			 for (Imovel cl: lista) {   
				  dados[i] = new String[] { String.valueOf(imo.getCodigo()), String.valueOf(imo.getCodcliente())};   
				  i += 1;   
				}   
				String[] colunas = new String [] { "CodImo","CodCli" };
				
				tab = new JTable(dados,colunas);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return tab;
		
	}

Aprenda a criar um TableModel.

Há vários links ensinando na minha assinatura (ao lado do texto em vermelho).