public void set(int key, int value) {
        if(cache.containsKey(key)){
            DoublyLinkedListNode node = cache.get(key);
            node.value = value;
            removeNode(node);
            setHead(node);
        }else{
            DoublyLinkedListNode node = new DoublyLinkedListNode(key, value);
            if(cache.size() == capacity){
                cache.remove(end.key); // This is why we need to put the key in the node!
                removeNode(end);
            }
            cache.put(key, node);
            setHead(node);
        }
    }