paginatedItems = new ResourceCollection(); $this->setCurrentPageNumber($currentPageNumber); $this->setItemsPerPage($itemsPerPage); $this->updateInternalState(); } public function getPaginatedItems(): ResourceCollection { return $this->paginatedItems; } protected function updatePaginatedItems(int $itemsPerPage, int $offset): void { $this->paginatedItems = new ResourceCollection(array_slice($this->items->getResources(), $offset, $itemsPerPage)); } protected function getTotalAmountOfItems(): int { return count($this->items); } protected function getAmountOfItemsOnCurrentPage(): int { return count($this->paginatedItems); } }