private function update(ResourceMetadata $resourceMetadata, array $metadata) : ResourceMetadata
{
foreach (['shortName', 'description', 'iri', 'itemOperations', 'collectionOperations', 'attributes'] as $property) {
if (null === $metadata[$property] || null !== $resourceMetadata->{'get' . ucfirst($property)}()) {
continue;
}
$resourceMetadata = $resourceMetadata->{'with' . ucfirst($property)}($metadata[$property]);
}
return $resourceMetadata;
}