Be aware, that Collections.unmodifiable*
is not copying collection data, but only wrapping the original collection in a special wrapper. So if you modify the original collection, you can get this error.
If you want to create really independent unmodifiable collection instance:
Collections.unmodifiableCollection(new ArrayList<>(map.values()));