/**
  * @param string $layout_version
  * @param array[] $required_rules
  */
 public function __construct($layout_version, array $required_rules)
 {
     $rules = array_map(function ($rule) {
         return implode(' ', $rule);
     }, $required_rules);
     $message = 'The layout file that created/modified with ' . $layout_version . ' is incompatible with this version.' . ' It is compatible with ' . implode(' and ', $rules) . '.';
     parent::__construct($message);
 }
 /**
  * @param string $style_name
  * @param mixed $value
  * @param mixed[] $available_values
  */
 public function __construct($style_name, $value, array $available_values)
 {
     $message = $value . ' is not available for ' . $style_name . ' style. ' . 'Available values are ' . implode(', ', $available_values) . '.';
     parent::__construct($message);
 }