search = new SearchCollection(); $this->filters = new FilterCollection(); $this->sorting = new OrderCollection(); $this->pagination = new Pagination(); $this->aggregations = new AggsCollection(); } public function getSearch(): SearchCollection { return $this->search; } public function getFilters(): FilterCollection { return $this->filters; } public function getSorting(): OrderCollection { return $this->sorting; } public function getPagination(): Pagination { return $this->pagination; } public function getAggs(): AggsCollection { return $this->aggregations; } public function __clone(): void { $this->search = clone $this->search; $this->filters = clone $this->filters; $this->sorting = clone $this->sorting; $this->pagination = clone $this->pagination; $this->aggregations = clone $this->aggregations; } }