private function resolveName(PropertyDefinition $property, HttpResource $resource) : string { return $property->variants()->reduce($property->name(), function (string $usedName, string $variant) use($resource) : string { if ($resource->properties()->contains($variant)) { return $variant; } return $usedName; }); }