protected function checkPropertyIncrement(BaseProperty $baseProperty, Profession $profession)
    {
        $propertyFirstLevelModifier = static::getBasePropertyFirstLevelModifier(
            PropertyCode::getIt($baseProperty->getCode()),
            $profession
        );
        if ($baseProperty->getValue() !== $propertyFirstLevelModifier) {
            throw new Exceptions\InvalidFirstLevelPropertyValue(
                "On first level has to be {$baseProperty->getCode()} of value {$propertyFirstLevelModifier}"
                . ", got {$baseProperty->getValue()}"
            );
        }
    }