@Override
    public V get(Object key) {
        if (!underlyingMap.containsKey(key)) return null;
        B value = underlyingMap.get(key);
        return valueMapping.apply(value);
    }
@Test
    public void testGet() {
        Map<String, Integer> underlying = createTestMap();
        TranslatedValueMapView<String, String, Integer> view =
            new TranslatedValueMapView<>(underlying, v -> v.toString());
        assertEquals("2", view.get("foo"));
        assertEquals("3", view.get("bar"));
        assertEquals("5", view.get("baz"));
        assertNull(view.get("quux"));
        underlying.put("quux", 101);
        assertEquals("101", view.get("quux"));
    }