override fun remove() {
// 1
if (index == 1) {
list.pop()
} else {
// 2
val prevNode = list.nodeAt(index - 2) ?: return
// 3
list.removeAfter(prevNode)
lastNode = prevNode
}
index--
}
In step 1 the index should be checked for being 0 not 1.