docs: private void rotateNeedle() {
          angleStep          = ANGLE_RANGE / (gauge.getRange());
          double targetAngle = 180 - START_ANGLE + (gauge.getCurrentValue() - gauge.getMinValue()) * angleStep;
          targetAngle        = clamp(180 - START_ANGLE, 180 - START_ANGLE + ANGLE_RANGE, targetAngle);
          needleRotate.setAngle(targetAngle);
          if (gauge.isAverageVisible()) drawAverage();
      }