/**
  * Hydrate the subject
  *
  * @param  HydrationEvent            $event
  * @return \Tmdb\Model\AbstractModel
  */
 public function hydrateSubject(HydrationEvent $event)
 {
     $objectHydrator = new ObjectHydrator();
     return $objectHydrator->hydrate($event->getSubject(), $event->getData());
 }
 /**
  * Hydrate the object with data
  *
  * @param  AbstractModel $subject
  * @param  array         $data
  * @return AbstractModel
  */
 protected function hydrate(AbstractModel $subject, $data = [])
 {
     $httpClient = $this->getHttpClient();
     $event = new HydrationEvent($subject, $data);
     $event->setLastRequest($httpClient->getLastRequest());
     $event->setLastResponse($httpClient->getLastResponse());
     $this->getHttpClient()->getEventDispatcher()->dispatch(TmdbEvents::HYDRATE, $event);
     return $event->getSubject();
 }