public abstract function apply($model, DataCollector $dataCollector);
/** * @param Criteria $criteria * * @return $this */ public function getByCriteria(Criteria $criteria) { $this->model = $criteria->apply($this->model, $this); return $this; }