Jay, I think they mean that you can change the value of the object referenced but not the pointer itself.
Suppose I have the following two variables: final String myString = "test"; final List<String> myList = new ArrayList<String>();
Now I cannot assign a new value to myString or myList since both are immutable. I can do myList.add("test") which changes the value of the object. I can't do that with myString because the String class is immutable. There are no methods on the String class that change it's value.