docs: private void setBar(final double VALUE) {
          double factor = VALUE / gauge.getRange();
          Color barColor = gauge.getBarColor();
          if (gauge.isGradientBarEnabled() && !gauge.getGradientBarStops().isEmpty()) {
              barColor = gauge.getGradientLookup().getColorAt(factor);
          } else if (gauge.getSectionsVisible() && !sections.isEmpty()) {
              int listSize = sections.size();
              for (int i = 0 ; i < listSize ; i++) {
                  if (sections.get(i).contains(VALUE)) {
                      barColor = sections.get(i).getColor();
                      break;
                  }
              }
          }
  
          if (Orientation.HORIZONTAL == orientation) {
              batteryPaint = new LinearGradient(0, 0, size, 0, false, CycleMethod.NO_CYCLE,
                                                new Stop(0, barColor),
                                                new Stop(factor, barColor),
                                                new Stop(factor, Color.TRANSPARENT),
                                                new Stop(1, Color.TRANSPARENT));
          } else {
              batteryPaint = new LinearGradient(0, 0, 0, size, false, CycleMethod.NO_CYCLE,
                                                new Stop(0, Color.TRANSPARENT),
                                                new Stop(1 - factor, Color.TRANSPARENT),
                                                new Stop(1 - factor, barColor),
                                                new Stop(1, barColor));
          }
          battery.setFill(batteryPaint);
  
          valueText.setText(String.format(locale, "%.0f%%", factor * 100));
          valueText.relocate((size - valueText.getLayoutBounds().getWidth()) * 0.5, (size - valueText.getLayoutBounds().getHeight()) * 0.5);
      }