$optionalsRoles */ public function __construct(readonly private iterable $optionalsRoles) { } /** * @return list */ public function getOptionalsRoles(Access $access): array { $roles = []; /** @var OptionalsRolesInterface $optionalsRoles */ foreach ($this->optionalsRoles as $optionalsRoles) { if ($optionalsRoles->support($access)) { $roles[] = $optionalsRoles->getRole(); } } return $roles; } }