public function sortByDescendingCyclomaticComplexity() : self { $items = $this->items; usort($items, static function (Complexity $a, Complexity $b) : int { return $a->cyclomaticComplexity() <=> $b->cyclomaticComplexity(); }); return new self(array_reverse($items)); }