/**
  * {@inheritdoc}
  */
 public static function fromArray(array $values)
 {
     $message = new self();
     $values = array_merge(['badge_type' => null, 'badge_rank' => null, 'targets' => [], 'capture_reward' => []], $values);
     $message->setBadgeType($values['badge_type']);
     $message->setBadgeRank($values['badge_rank']);
     foreach ($values['targets'] as $item) {
         $message->addTargets($item);
     }
     foreach ($values['capture_reward'] as $item) {
         $message->addCaptureReward($item);
     }
     return $message;
 }