/** * Put watch2 on rule's literal with highest level */ private function watch2OnHighest(Rule $rule) { $literals = $rule->getLiterals(); // if there are only 2 elements, both are being watched anyway if ($literals < 3) { return; } $watchLevel = 0; foreach ($literals as $literal) { $level = abs($this->decisionMap[$literal->getPackageId()]); if ($level > $watchLevel) { $rule->watch2 = $literal->getId(); $watchLevel = $level; } } }