### Question:
ArrayMap implements Map<K, V> { @Override public final V remove(Object key) { unsupportEx.fillInStackTrace(); throw unsupportEx; } private  ArrayMap(final K[] keys, final V[] values); static final ArrayMap<K,V> createMap(final K[] keys, final V[] values); @Override final int size(); @Override final boolean isEmpty(); @Override final boolean containsKey(Object key); @Override final boolean containsValue(Object value); @Override final V get(Object key); @Override final V put(K key, V value); @Override final V remove(Object key); @Override final void putAll(Map<? extends K, ? extends V> m); @Override final void clear(); @Override final Set<K> keySet(); @Override final Collection<V> values(); @Override final Set<java.util.Map.Entry<K, V>> entrySet();  }### Answer:
@Test public void testRemove() { String[] keys = new String[]{"key1", "key2"};; String[] values = new String[]{"value1", "value2"}; Map<String, String> map = ArrayMap.createMap(keys, values); try { map.remove("key3"); fail("should throw exception"); } catch (Exception e) { } }