/**
  * hydrate
  *
  * @param mixed       $data
  * @param ApiMessages $apiMessages
  *
  * @return ApiMessages
  * @throws ApiMessagesHydratorException
  */
 public function hydrate($data, ApiMessages $apiMessages)
 {
     if (!$data instanceof ApiMessage) {
         throw new ApiMessagesHydratorException(get_class($this) . ' cannot hydrate this data type');
     }
     $apiMessages->add($data);
     return $apiMessages;
 }
 /**
  * hydrate
  *
  * @param mixed       $data
  * @param ApiMessages $apiMessages
  *
  * @return ApiMessages
  * @throws ApiMessagesHydratorException
  */
 public function hydrate($data, ApiMessages $apiMessages)
 {
     if (!is_string($data)) {
         throw new ApiMessagesHydratorException(get_class($this) . ' cannot hydrate this data type');
     }
     $apiMessage = new StringApiMessage($data);
     $apiMessages->add($apiMessage);
     return $apiMessages;
 }
 /**
  * hydrate
  *
  * @param mixed       $data
  * @param ApiMessages $apiMessages
  *
  * @return ApiMessages
  * @throws ApiMessagesHydratorException
  */
 public function hydrate($data, ApiMessages $apiMessages)
 {
     if (is_array($data) && array_key_exists('value', $data) && array_key_exists('type', $data)) {
         $apiMessage = new ArrayApiMessage($data);
         $apiMessages->add($apiMessage);
         return $apiMessages;
     }
     throw new ApiMessagesHydratorException(get_class($this) . ' cannot hydrate this data type');
 }
 /**
  * hydrate
  *
  * @param             $data
  * @param ApiMessages $apiMessages
  *
  * @return ApiMessages
  * @throws ApiMessagesHydratorException
  */
 public function hydrate($data, ApiMessages $apiMessages)
 {
     if (!$data instanceof InputFilterInterface) {
         throw new ApiMessagesHydratorException(get_class($this) . ' cannot hydrate this data type');
     }
     $inputFilterApiMessages = new InputFilterApiMessages($data, $this->primaryMessage);
     foreach ($inputFilterApiMessages as $apiMessage) {
         $apiMessages->add($apiMessage);
     }
     return $apiMessages;
 }
 /**
  * addApiMessage
  *
  * @param ApiMessage $apiMessage
  *
  * @return void
  */
 public function addApiMessage(ApiMessage $apiMessage)
 {
     $this->messages->add($apiMessage);
 }