/**
  * Method to raise a version number
  *
  * @param string $raise one of "main", "sub", "dev" - the version part to raise by one
  * @param string $version (like 4.1.20)
  * @return string
  * @throws \TYPO3\CMS\Core\Exception
  */
 public static function raiseVersionNumber($raise, $version)
 {
     if (!in_array($raise, array('main', 'sub', 'dev'))) {
         throw new \TYPO3\CMS\Core\Exception('RaiseVersionNumber expects one of "main", "sub" or "dev".', 1342639555);
     }
     $parts = GeneralUtility::intExplode('.', $version . '..');
     $parts[0] = MathUtility::forceIntegerInRange($parts[0], 0, 999);
     $parts[1] = MathUtility::forceIntegerInRange($parts[1], 0, 999);
     $parts[2] = MathUtility::forceIntegerInRange($parts[2], 0, 999);
     switch ((string) $raise) {
         case 'main':
             $parts[0]++;
             $parts[1] = 0;
             $parts[2] = 0;
             break;
         case 'sub':
             $parts[1]++;
             $parts[2] = 0;
             break;
         case 'dev':
             $parts[2]++;
             break;
     }
     return $parts[0] . '.' . $parts[1] . '.' . $parts[2];
 }