final public function render($ifIssetGet = null): string
    {
        $html = '';

        $andIfHasQueryParams = $this->accumulateIfHasQueryParams($ifIssetGet);

        if ($this->pagination->getGetPP() != Pagination::ALL && $this->pagination->getCount() > $this->pagination->getPerPage()) {
            $html .= $this->open();

            $html .= $this->previousLink(Str::andIfHasQueryParams($andIfHasQueryParams));
            $html .= $this->firstLink(Str::andIfHasQueryParams($andIfHasQueryParams));

            for ($i = $this->pagination->getPageStart(); $i <= $this->pagination->getPageEnd(); $i++) {
                if ($i == $this->pagination->getCurrentPage()) {
                    $html .= $this->paginationActive($i);
                } else {
                    if ($i != 1 && $i != $this->pagination->getNbPages()) {
                        $html .= $this->paginationLink($i.Str::andIfHasQueryParams($andIfHasQueryParams), $i);
                    }
                }
            }

            $html .= $this->lastLink(Str::andIfHasQueryParams($andIfHasQueryParams));
            $html .= $this->nextLink(Str::andIfHasQueryParams($andIfHasQueryParams));

            $html .= $this->close();
        }

        return $html;
    }