public function chunk($size, $preserve_keys = false)
    {
        try {
            $chunk = array_chunk($this->val(), $size, $preserve_keys);
        } catch (\ErrorException $e) {
            throw new ArrayObjectException($e->getMessage());
        }

        return new ArrayObject($chunk);
    }