Вы почти у цели.Ваша проблема лежит здесь
while(current != null) {
... }
current = new Node(node.data);
Это создает новый узел, который должен находиться в самом конце вашего списка.Но вы только назначаете новый экземпляр переменной local ..., которая затем теряется, потому что метод заканчивается.
Вместо этого вы должны изменять свой цикл, пока не найдете последнюю запись, которая не равна нулю, так что current.next == null
.Чтобы потом просто пойти:
current.next = new Node(node.data);