/**
  * @param string $propertyCode
  * @param Race $race
  * @param GenderCode $genderCode
  * @param Tables $tables
  * @param ExceptionalityProperties $exceptionalityProperties
  * @param ProfessionLevels $professionLevels
  * @return int
  * @throws \DrdPlus\Races\Exceptions\UnknownPropertyCode
  */
 private function calculateFirstLevelBaseProperty($propertyCode, Race $race, GenderCode $genderCode, Tables $tables, ExceptionalityProperties $exceptionalityProperties, ProfessionLevels $professionLevels)
 {
     return $race->getProperty($propertyCode, $genderCode, $tables) + $exceptionalityProperties->getProperty($propertyCode)->getValue() + $professionLevels->getFirstLevelPropertyModifier($propertyCode);
 }