protected function checkValueStructure(BaseValue $value) { if (!is_array($value->selection)) { throw new InvalidArgumentType('$value->selection', 'array', $value->selection); } }