current_node == head_node aka first node (non-local pointer?)
temp_node == first node
current_node == second node
first node points to second node, previously it was pointing to second node
remove first node aka head_node (if class node has destructor, it can cascade)
head_node remains invalid
current_node has reference to former second node