### Question:
PerAdapterProvider { public T get(DbAdapter adapter) throws DIRuntimeException { T t = perAdapterValues.get(adapter.unwrap().getClass().getName()); return t != null ? t : defaultValue; } PerAdapterProvider(Map<String, T> perAdapterValues, T defaultValue); T get(DbAdapter adapter);  }### Answer:
@Test public void testGet() { Map<String, String> map = Collections.singletonMap(DerbyAdapter.class.getName(), "x"); PerAdapterProvider<String> provider = new PerAdapterProvider<>(map, "default"); assertEquals("default", provider.get(oracleAdapter)); assertEquals("x", provider.get(derbyAdapter)); assertEquals("x", provider.get(autoDerbyAdapter)); }