If I write
List a1 = Arrays.asList(1, 2, 3); List a2 = Collections.unmodifiableList(a1);
a2 is r
a2
The idea is that you can't modify the list via a2.
Modifying the a1 list will indeed modify what you see in a2 - this is intended.
a1
Just dont have a public way to access the list a1, and you should have what you want :)