/**
  * @param array $data
  * @param Pagination $object
  * @return object
  */
 public function hydrate(array $data, $object)
 {
     if (!isset($data['items'])) {
         return $object;
     }
     $trackCollection = new TrackCollection();
     foreach ($data['items'] as $track) {
         $trackCollection->add(new Track($track));
     }
     $object->setItems($trackCollection);
     return $object;
 }
 /**
  * @param array $data
  * @param Pagination $object
  * @return object
  */
 public function hydrate(array $data, $object)
 {
     if (!isset($data['items'])) {
         return $object;
     }
     $playlistTrackCollection = new PlaylistTrackCollection();
     foreach ($data['items'] as $playlistTrack) {
         $hydrators = new AggregateHydrator();
         $hydrators->add(new TrackAwareHydrator());
         $playlistTrackCollection->add($hydrators->hydrate($playlistTrack, new PlaylistTrack()));
     }
     $object->setItems($playlistTrackCollection);
     return $object;
 }
 /**
  * @param array $data
  * @param Pagination $object
  * @return object
  */
 public function hydrate(array $data, $object)
 {
     if (!isset($data['items'])) {
         return $object;
     }
     $albumCollection = new AlbumCollection();
     foreach ($data['items'] as $album) {
         $hydrators = new AggregateHydrator();
         $hydrators->add(new AlbumHydrator());
         $hydrators->add(new ImageCollectionAwareHydrator());
         $albumCollection->add($hydrators->hydrate($album, new Album()));
     }
     $object->setItems($albumCollection);
     return $object;
 }