Boa tarde, meus caros.
Nunca trabalhei na prática com criação de métodos genéricos, mas hoje possuo uma situação em que devo pegar algumas listas que estão dentro de um objeto e settar os ids dos respectivos objetos da lista para null.
Primeiramente seguem as listas do meu objeto imóvel:
private List<Benfeitoria> benfeitorias;
private List<Imagem> imagens;
No cenário onde meu objeto vem com esses dados preenchidos, preciso settar o ID dos mesmos para null. Criei um método intermediário para retornar o imóvel novo com as listas contendo objetos com id null.
public Imovel generateNewImovel(Imovel imovel){
if(imovel.getBenfeitorias() != null) imovel.setBenfeitorias(resetIds(imovel.getBenfeitorias()));
if(imovel.geImagens() != null) imovel.setImagens(resetIds(imovel.getImagens()));
return imovel;
}
Aqui entra a verdadeira dificuldade: criar o abençoado do método.
private <T> List<T> resetIds(List<T> lista){
List<T> objs = new ArrayList<T>();
for(Object item : lista){
item.setId(null);
objs.add((T) item);
}
return objs;
}
Mas nada feito 
Alguém pode dar um help?