LazyMap implements Map<K, V> { @Override public final int hashCode() { return delegate.hashCode(); }  @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<Entry<K, V>> entrySet(); @Override final int hashCode(); @Override final boolean equals(Object obj); static LazyMap<K, V> newHashMap();  }
@Test public void requireThatHashCodeIsImplemented() { assertEquals(newLazyMap(null).hashCode(), newLazyMap(null).hashCode()); }