elements = $elements; } /** * @return array */ public function sort() { if (!$this->comparator) { throw new \LogicException("Comparator is not set"); } $callback = array($this->comparator, 'compare'); uasort($this->elements, $callback); return $this->elements; } /** * @param ComparatorInterface $comparator * * @return void */ public function setComparator(ComparatorInterface $comparator) { $this->comparator = $comparator; } }