Почему мы можем изменить неизменяемый список, если у нас есть оригинальный?

Глядя на кодCollections класс, я узнал, что когда мы используем методunmodifiableList(List list) или жеunmodifiableCollection(Collection c) он не создает новый объект, но возвращает ссылку на тот же объект и переопределяет методы, которые могут изменитьList [ add, addall, remove, retainAll ...]
Итак, я запустил этот тест:

List modifiableList = new ArrayList();
modifiableList.add ( 1 );   
List unmodifiableList = Collections.unmodifiableList( modifiableList );
// unmodifiableList.add(3);  // it will throw the exception 
modifiableList.add ( 2 );       
System.out.println( unmodifiableList );

результат[ 1,2 ] .
Теперь дело в том, почему это относится к одному и тому же объекту? Почему это не создает новый объект?

Ответы на вопрос(7)

Ваш ответ на вопрос