BiCache { public synchronized Map<K, V> asMap() { return ImmutableMap.copyOf(cache.asMap()); } @Inject  BiCache(
      StatsProvider statsProvider,
      BiCacheSettings settings,
      final Clock clock); synchronized void put(K key, V value); synchronized Optional<V> get(K key); synchronized Set<K> getByValue(V value); synchronized void remove(K key, V value); synchronized Map<K, V> asMap();  }
@Test public void testAsMap() { biCache.put(KEY_1, 1); assertEquals(Optional.of(1), biCache.get(KEY_1)); Map<String, Integer> map = biCache.asMap(); biCache.put(KEY_1, 2); assertEquals(ImmutableMap.of(KEY_1, 1), map); }