public function chunk($size)
    {
        self::mustBeInteger($size, 'Size');

        if ($size instanceof N) {
            $size = $size->int;
        }

        if ($size < 1) {
            throw new \InvalidArgumentException(
                'Chunk cannot have null size, please use number equal or '
                .'greater than one.'
            );
        }

        $arr = array_chunk($this->value, $size);

        $cnt = count($arr);

        for ($i = 0; $i < $cnt; $i++) {
            $v = $arr[$i];

            if (is_array($v)) {
                $arr[$i] = new self($v);
            }
        }

        return new self($arr);
    }