code: public function remove()
      {
          $offset = $this->key();
          $this->offsetUnset($offset);
          $this->seek($offset);
      }
docs: Removes the current element from the list
  
  As SplDoublyLinkedList only allows deleting a particular offset and
  incorrectly sets the internal iterator if you delete the current value
  this method sets the internal iterator back to the following element
  using the seek method.