class LazyMap extends WrappedMap<K, V> {

    @Override
    public V get(Object key) throws IllegalStateException
    {
        Factory<? super K, ? extends V> factory = getFactory();
        if (factory == null)
        {
            throw new IllegalStateException("No factory installed.");
        }
        return get(key, factory);
    }

    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);

}