private function existingPropertyGetterAvailableOrFail(string $propertyName): void
    {
        assert($this->propertyExists($propertyName));
        if (!$this->isExistingPropertyGetterAvailable($propertyName)) {
            throw new UnavailableOperationException($propertyName);
        }
    }