class LazyMap extends WrappedMap<K, V> {

    @Override
    public V put(K key, V value)
    {
        synchronized (getMap())
        {
            return super.put(key, value);
        }
    }

    public  LazyMap(Map<K, V> map, Class<? extends K> keyType);
    public  LazyMap(Map<K, V> map, Class<? extends K> keyType, Factory<? super K, ? extends V> factory);

}