/**
  * @param  \stdClass $obj
  * @param  array     $context
  * @return TwitterMedia
  */
 public function unserialize($obj, array $context = [])
 {
     Assertion::true($this->canUnserialize($obj), 'object is not unserializable');
     $sizesObjects = [];
     if ($obj->sizes) {
         foreach ($obj->sizes as $sizeName => $sizeObj) {
             $sizesObjects[$sizeName] = $this->mediaSizeSerializer->unserialize($sizeObj, [TwitterMediaSizeSerializer::NAME_VAR => $sizeName]);
         }
     }
     return TwitterMedia::create($obj->id, $obj->media_url, $obj->media_url_https, $obj->url, $obj->display_url, $obj->expanded_url, $sizesObjects, $obj->type, $this->entityIndicesSerializer->unserialize($obj->indices));
 }
 /**
  * @test
  */
 public function itShouldNotUnserializeIllegalObject()
 {
     $this->setExpectedException(\InvalidArgumentException::class);
     $this->serializer->unserialize($this->getInvalidSerializedObject());
 }