/** * {@inheritDoc} */ public function getMetadataForDocument(Document $document) { if (!$document->hasField(self::FIELD_STRUCTURE_TYPE)) { return; } $className = $document->getClass(); $structureType = $document->getField(self::FIELD_STRUCTURE_TYPE)->getValue(); $documentMetadata = $this->metadataFactory->getMetadataForClass($className); $structure = $this->structureFactory->getStructureMetadata($documentMetadata->getAlias(), $structureType); return $this->getMetadata($documentMetadata, $structure); }