class FixedSizeMRUCachingFactory implements Factory<K, V> {

	@Override
	public V get(K key) {
		V value = cache.get(key);
		if (value != null) {
			return value;
		}

		value = delegate.get(key);
		cache.put(key, value);
		return value;
	}

	public  FixedSizeMRUCachingFactory(Factory<K, V> factory, int size);

}