Пытаюсь самостоятельно разобраться с задачей, но упёрся в какую то стену. Понимаю что ошибка скорее всего в логике. Не могу её увидеть. Кажется как будто метод должен работать корректно, но нет. Что я сделал не так?
public void add(String value) {
        //напишите тут ваш код
        Node lastNode = new Node();
        if(first.next == null){
            last.next = lastNode;
            last.prev = first;
            last.value = value;
            first.next = last;
            last = lastNode;
        } else { last.value = value;
            last.next = lastNode;
            lastNode.prev = last;
        }

    }