/** {@inheritdoc} */
 protected function wakeupReflection(ClassMetadata $class, ReflectionService $reflService)
 {
     if (!$class instanceof EntityMetadata) {
         throw new \LogicException('Metadata is not supported');
     }
     /** @var EntityMetadata $class */
     $class->wakeupReflection($reflService);
 }
 /**
  * {@inheritDoc}
  */
 protected function wakeupReflection(ClassMetadataInterface $class, ReflectionService $reflService)
 {
     /* @var $class ClassMetadata */
     $class->wakeupReflection($reflService);
 }
 /**
  * @inheritdoc
  */
 protected function wakeupReflection(ClassMetadataInfo $class, ReflectionService $reflService)
 {
     /** @var ClassMetadata $class */
     $class->wakeupReflection($reflService);
 }
 /**
  * {@inheritDoc}
  */
 protected function wakeupReflection(BaseClassMetadata $class, ReflectionService $reflService)
 {
     /* @var $class ClassMetadata */
     $class->wakeupReflection($reflService);
     $this->completeMappingTypeValidation($class->getName(), $class);
     $xmlNamespace = empty($class->xmlNamespaces) ? '' : $class->xmlNamespaces[0]['url'];
     foreach ($class->xmlNamespaces as $namespaceData) {
         if (empty($namespaceData['prefix'])) {
             $xmlNamespace = $namespaceData['url'];
         }
     }
     $xmlName = $class->getXmlName();
     if (!empty($class->parent)) {
         $parent = $this->getMetadataFor($class->parent);
         if (!empty($parent)) {
             $this->alternativeClassMap[$parent->getName()][$xmlNamespace] = $class->getName();
         }
     }
     if (!$class->isMappedSuperclass) {
         $this->xmlToClassMap[$xmlName][$xmlNamespace] = $class->getName();
     }
     if ($this->isEntity($class)) {
         foreach ($class->getFieldMappings() as $fieldMapping) {
             if (!empty($fieldMapping['wrapper'])) {
                 $wrapperXmlName = $fieldMapping['wrapper'];
                 $types = Type::getTypesMap();
                 $type = (string) $fieldMapping['type'];
                 if (isset($types[$type])) {
                     $this->wrapperXmlToClassMap[$wrapperXmlName][$class->getXmlName()] = NULL;
                 } else {
                     $this->wrapperXmlToClassMap[$wrapperXmlName][$class->getXmlName()] = $fieldMapping['type'];
                 }
             }
         }
     }
 }