public function create(string $resourceClass) : ResourceMetadata
{
$parentResourceMetadata = null;
if ($this->decorated) {
try {
$parentResourceMetadata = $this->decorated->create($resourceClass);
} catch (ResourceClassNotFoundException $resourceNotFoundException) {
// Ignore not found exception from decorated factories
}
}
if (!class_exists($resourceClass) || !($resource = $this->extractor->getResources()[$resourceClass] ?? false)) {
return $this->handleNotFound($parentResourceMetadata, $resourceClass);
}
return $this->update($parentResourceMetadata ?: new ResourceMetadata(), $resource);
}