This code doesn't work?

```PHP
           if ($position > 0) {
               $position--;
           } else {
               $position = max(0, count($this->columns) + $position);
           }
```