/**
  * {@inheritdoc}
  */
 public static function fromArray(array $values)
 {
     $message = new self();
     $values = array_merge(['name' => [], 'identifier_value' => null, 'positive_int_value' => null, 'negative_int_value' => null, 'double_value' => null, 'string_value' => null, 'aggregate_value' => null], $values);
     $message->setIdentifierValue($values['identifier_value']);
     $message->setPositiveIntValue($values['positive_int_value']);
     $message->setNegativeIntValue($values['negative_int_value']);
     $message->setDoubleValue($values['double_value']);
     $message->setStringValue($values['string_value']);
     $message->setAggregateValue($values['aggregate_value']);
     foreach ($values['name'] as $item) {
         $message->addName($item);
     }
     return $message;
 }