public function add(Page $page)
    {
        $next = count($this->pages) + 1;

        $this->pages[$next] = $page;

        if ($page->isPlaceholder()) {
            $this->isSqueezed = true;
        }

        if ($page->isFirst()) {
            $this->firstPage = $page;
        }

        if ($page->isLast()) {
            $this->lastPage = $page;
        }

        if ($page->isCurrent()) {
            $this->currentPage = $page;
        }

        if ($page->isPrevious()) {
            $this->previousPage = $page;
        }

        if ($page->isNext()) {
            $this->nextPage = $page;
        }

        return $this;
    }