private function applyFilters() : void
    {
        foreach ($this->criteria as $criteria) {
            $filterClass = $criteria->getOperator();

            $filter = new $filterClass(
                $this->table->aliasField($criteria->getField()),
                $criteria->getValue()
            );

            $filter->apply($this->query);
        }
    }