CaselessUnmodifiableMultivaluedMap extends CaselessMultivaluedMap<T> { @Override public Set<Entry<String, List<T>>> entrySet() { if (entries == null) { entries = new ReadOnlyEntrySet(); } return entries; } CaselessUnmodifiableMultivaluedMap();  CaselessUnmodifiableMultivaluedMap(int capacity);  CaselessUnmodifiableMultivaluedMap(Map<String, List<T>> m); @Override void add(String key, T value); @Override void clear(); @Override Set<Entry<String, List<T>>> entrySet(); @Override List<T> get(Object key); @Override List<T> getList(String key); @Override Set<String> keySet(); @Override List<T> put(String key, List<T> value); @Override void putAll(Map<? extends String, ? extends List<T>> m); @Override void putSingle(String key, T value); @Override List<T> remove(Object key); @Override void addAll(String key, T... newValues); @Override void addAll(String key, List<T> valueList); @Override void addFirst(String key, T value); @Override Collection<List<T>> values();  }
@Test(expected = UnsupportedOperationException.class) public void testEntryRemoveAll() { map.entrySet().removeAll(new ArrayList()); }
@Test(expected = UnsupportedOperationException.class) public void testEntryRetainAll() { map.entrySet().retainAll(new ArrayList()); }
@Test(expected = UnsupportedOperationException.class) public void testEntryUpdateValue() { map.entrySet().iterator().next().setValue(new ArrayList<>()); }