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