/** * {@inheritdoc} */ public static function fromArray(array $values) { if (!isset($values['name_part'])) { throw new \InvalidArgumentException('Field "name_part" (tag 1) is required but has no value.'); } if (!isset($values['is_extension'])) { throw new \InvalidArgumentException('Field "is_extension" (tag 2) is required but has no value.'); } $message = new self(); $values = array_merge([], $values); $message->setNamePart($values['name_part']); $message->setIsExtension($values['is_extension']); return $message; }