public function moveToBottom()
    {
        if ($this->isNotInList()) return $this;

        $this->getConnection()->transaction(function() {

            $this->decrementPositionsOfItemsBelow();

            $bottomPosition = $this->getBottomPositionValue($this);
            $newPosition    = (null === $bottomPosition) ? $this->listifyTop() : $bottomPosition + 1;

            $this->setListPosition($newPosition);
        });

        return $this;
    }