### Question:
ImmutableMapState extends ImmutableState implements MapState<K, V> { @Override public Iterable<V> values() { return Collections.unmodifiableCollection(state.values()); } private  ImmutableMapState(final Map<K, V> mapState); @Override V get(K key); @Override void put(K key, V value); @Override void putAll(Map<K, V> map); @Override void remove(K key); @Override boolean contains(K key); @Override Iterable<Map.Entry<K, V>> entries(); @Override Iterable<K> keys(); @Override Iterable<V> values(); @Override Iterator<Map.Entry<K, V>> iterator(); @Override void clear(); @SuppressWarnings("unchecked") static S createState(
		StateDescriptor<S, T> stateDescriptor,
		byte[] serializedState);  }### Answer:
@Test(expected = UnsupportedOperationException.class) public void testValues() throws Exception { assertTrue(mapState.contains(1L)); long value = mapState.get(1L); assertEquals(5L, value); assertTrue(mapState.contains(2L)); value = mapState.get(2L); assertEquals(5L, value); Iterator<Long> iterator = mapState.values().iterator(); while (iterator.hasNext()) { iterator.remove(); } }