docs: @Override
      public void getReward(MissionInit missionInit, MultidimensionalReward multidimReward)
      {
          super.getReward(missionInit, multidimReward);
          if (this.rewardDensity == RewardDensityForBuildAndBreak.MISSION_END)
          {
              // Only send the reward at the very end of the mission.
              if (multidimReward.isFinalReward() && this.reward != 0)
              {
                  float adjusted_reward = adjustAndDistributeReward(this.reward, this.dimension, this.rscparams.getRewardDistribution());
                  multidimReward.add(this.dimension, adjusted_reward);
              }
          }
          else
          {
              // Send reward immediately.
              if (this.reward != 0)
              {
                  synchronized (this)
                  {
                      float adjusted_reward = adjustAndDistributeReward(this.reward, this.dimension, this.rscparams.getRewardDistribution());
                      multidimReward.add(this.dimension, adjusted_reward);
                      this.reward = 0;
                  }
              }
          }
      }