public void put(K key, V value)
	{
		DoublyNode<V> node = new DoublyNode<V>(value);
		
		// If cache doesn't contain key - add it
		if(get(key) == null)
		{
			// if no room left, remove least recently used node
			if(mHashMap.size() >= mCacheCapacity)
			{
				DoublyNode<V> leastUsed = mList.getListTail();
				mList.removeNode(leastUsed);
			}
			
			// Create a new node with value and point map to it
			mList.addToStart(node);
			mHashMap.put(key, node);
		}
	}