/**
  * @param array  $data
  * @param string $class
  * @param null   $format
  * @param array  $context
  *
  * @return object
  */
 public function denormalize($data, $class, $format = null, array $context = [])
 {
     foreach ([static::KEY_PARAMS, static::KEY_RESULT] as $key) {
         if (empty($data[$key])) {
             continue;
         }
         $class = isset($context['params']) ? $context['params'] : MixedArrayDenormalizer::TYPE;
         $data[$key] = $this->serializer->denormalize($data[$key], $class, $context['encoding'], $context);
     }
     return parent::denormalize($data, $class, $format, $context);
 }
 /**
  * @param array  $data
  * @param string $type
  * @param string $format
  *
  * @return bool
  */
 public function supportsDenormalization($data, $type, $format = null)
 {
     $class = $type ?: $this->getClassFromArray($data);
     if (!$this->entityMetadataFactory->hasMetadataFor($class) or $this->entityMetadataFactory->getMetadataFor($class)->isEmbeddedClass) {
         return false;
     }
     return parent::supportsDenormalization($data, $type, $format);
 }