docs: private void rotateNeedle(final double VALUE) {
          angleStep          = ANGLE_RANGE / gauge.getRange();
          double targetAngle = 180 - START_ANGLE + (VALUE - gauge.getMinValue()) * angleStep;
          needleRotate.setAngle(Helper.clamp(180 - START_ANGLE, 180 - START_ANGLE + ANGLE_RANGE, targetAngle));
          valueText.setText(formatNumber(gauge.getLocale(), gauge.getFormatString(), gauge.getDecimals(), VALUE));
          //valueText.setTranslateX((size - valueText.getLayoutBounds().getWidth()) * 0.5);
  
          resizeText();
          placeTextVerticaly();
  
          if ( gauge.isThresholdVisible() && VALUE > gauge.getThreshold() ) {
              glow2.setColor(thresholdColor);
              bigGlow.setColor(thresholdColor);
          } else {
              glow2.setColor(barColor);
              bigGlow.setColor(barColor);
          }
          highlightValue(tickMarkCtx, VALUE);
      }