### Question:
ImmutableTrieMap extends TrieMap<K, V> { @Override public V computeIfPresent(final K key, final BiFunction<? super K, ? super V, ? extends V> remappingFunction) { throw unsupported(); } ImmutableTrieMap(final INode<K, V> root); @Override void clear(); @Override V compute(final K key, final BiFunction<? super K, ? super V, ? extends V> remappingFunction); @Override V computeIfAbsent(final K key, final Function<? super K, ? extends V> mappingFunction); @Override V computeIfPresent(final K key, final BiFunction<? super K, ? super V, ? extends V> remappingFunction); @Override V merge(final K key, final V value, final BiFunction<? super V, ? super V, ? extends V> remappingFunction); @Override V put(final K key, final V value); @Override @SuppressWarnings("checkstyle:parameterName") void putAll(final Map<? extends K, ? extends V> m); @Override V putIfAbsent(final K key, final V value); @Override V remove(final Object key); @Override boolean remove(final Object key, final Object value); @Override boolean replace(final K key, final V oldValue, final V newValue); @Override V replace(final K key, final V value); @Override int size(); @Override MutableTrieMap<K, V> mutableSnapshot(); @Override ImmutableTrieMap<K, V> immutableSnapshot();  }### Answer:
@Test public void testComputeIfPresent() { assertThrows(UnsupportedOperationException.class, () -> map.computeIfPresent(null, null)); }