code: @Override
      public void phaseStarted(LocalSearchPhaseScope phaseScope) {
          super.phaseStarted(phaseScope);
          for (double startingTemperatureLevel : ScoreUtils.extractLevelDoubles(startingTemperature)) {
              if (startingTemperatureLevel < 0.0) {
                  throw new IllegalArgumentException("The startingTemperature (" + startingTemperature
                          + ") cannot have negative level (" + startingTemperatureLevel + ").");
              }
          }
          startingTemperatureLevels = ScoreUtils.extractLevelDoubles(startingTemperature);
          temperatureLevels = startingTemperatureLevels;
          levelsLength = startingTemperatureLevels.length;
      }
docs: ************************************************************************