/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['result' => null, 'currency_type' => [], 'currency_awarded' => [], 'defenders_count' => null], $values); $message->setResult($values['result']); $message->setDefendersCount($values['defenders_count']); foreach ($values['currency_type'] as $item) { $message->addCurrencyType($item); } foreach ($values['currency_awarded'] as $item) { $message->addCurrencyAwarded($item); } return $message; }