После многочисленных попыток, наконец-то, что-то вылезло. Как я понял, мой код ниже вставляет новую ноду не в конец списка, а в начало. Как это переделать - не придумал. Дайте, пожалуйста, отдаленную подсказку / намек. Мб, в этой задаче должен использоваться while или if? Мб, в методе add над создать два объекта Node, а не один? Мб, не нужно использовать "this"? Мб, есть ссылка на статью / видео, в которых объясняют как работает LinkedList изнутри или как работают ссылки в Java. Я понимаю, что first.next ссылается на node. node.prev ссылается на first. last.prev - на node, a node.next на last. Но как запихнуть еще одну ноду, чтобы и данные прошлой ноды сохранились, и ссылки правильно поменялись? И все это работало еще и в обратном направлении. Мне кажется, у меня не хватает фундаментального понимания работы со ссылками)))