public function pop()
    {
        $this->forceCollection();
        if (!$this->hasItems()) {
            throw new InvalidOffsetException('Cannot shift this array, no more items');
        }

        return $this->box(array_pop($this->data));
    }