Retornar um ArrayList não modificável

Olá Pessoal, tenho uma classe, que possui um atributo que é um ArrayList. Tenho um método get() que retorna este ArrayList. Preciso que o retorno, não possa ser modificado ou que a modificação no ArrayList retornando, não interfira em seu original. Verifiquei que a classe Collections tem um método unmodifiableList(), porém mesmo assim as alterações refletem no atributo. A solução que encontrei foi criar um novo ArrayList, e para cada elemento dele, instancei um novo objeto com os dados do atributo origem. Alguém tem alguma sugestão ?
Abraço
Everton

O que vc quer não é uma coleção imodificável. O que vc quer são objectos da coleção imodificáveis. é MUITO diferente. A solução não é criar arraylists dentro de arraylists (espero que o seu método retorne List e não arrayList)

Bom, então o que vc tem que fazer é usar o Collections…unmodifiableLis() para criar uma lista imodificável , ou seja, que não deixa adicionar ou remover itens.

E tem que criar uma classe adaptadora para a que vc está colocando na lista.
que nege modificações. Que classe de objectos vc está colocando na lista ?

Que tals utilizar Java Beans?Coloca um metodo getTeuArrayList() e somente tera acesso ao ArrayList.Espero que tenha entendido

altera o teu metodo get para não retornar o sua lista e sim uma copia dela…

getMilhaLista() {
  //copia a lista para uma nova
  //retorna a nova... 
}