class LRUCache implements
		Cache<CacheKeyType, CacheValueType> {

	@Override
	public CacheValueType get(CacheKeyType key) {
		if (!cache.containsKey(key)) {
			return null;
		}

		CacheNode<CacheKeyType, CacheValueType> node = cache.get(key);
		moveNodeToLast(node);

		return node.getValue();
	}

	public  LRUCache();
	public  LRUCache(int capacity);

}