docs: private void initGraphics() {
          // Set initial size
          if (Double.compare(gauge.getPrefWidth(), 0.0) <= 0 || Double.compare(gauge.getPrefHeight(), 0.0) <= 0 ||
              Double.compare(gauge.getWidth(), 0.0) <= 0 || Double.compare(gauge.getHeight(), 0.0) <= 0) {
              if (gauge.getPrefWidth() > 0 && gauge.getPrefHeight() > 0) {
                  gauge.setPrefSize(gauge.getPrefWidth(), gauge.getPrefHeight());
              } else {
                  gauge.setPrefSize(preferredWidth, preferredHeight);
              }
          }
  
          barBorder1 = new Line();
          barBorder2 = new Line();
  
          barBackground = new Rectangle();
  
          ticksAndSectionsCanvas = new Canvas(preferredWidth, preferredHeight);
          ticksAndSections       = ticksAndSectionsCanvas.getGraphicsContext2D();
  
          ledCanvas = new Canvas();
          led       = ledCanvas.getGraphicsContext2D();
          Helper.enableNode(ledCanvas, gauge.isLedVisible());
  
          lcd = new Rectangle(0.3 * preferredWidth, 0.014 * preferredHeight);
          lcd.setArcWidth(0.0125 * preferredHeight);
          lcd.setArcHeight(0.0125 * preferredHeight);
          lcd.relocate((preferredWidth - lcd.getWidth()) * 0.5, 0.44 * preferredHeight);
          Helper.enableNode(lcd, gauge.isLcdVisible() && gauge.isValueVisible());
  
          bar = new Rectangle();
          bar.setStroke(null);
  
          barHighlight = new Rectangle();
          barHighlight.setStroke(null);
          Helper.enableNode(barHighlight, gauge.isBarEffectEnabled());
  
          titleText = new Text(gauge.getTitle());
          titleText.setFill(gauge.getTitleColor());
          Helper.enableNode(titleText, !gauge.getTitle().isEmpty());
  
          unitText  = new Text(gauge.getUnit());
          unitText.setFill(gauge.getUnitColor());
          Helper.enableNode(unitText, !gauge.getUnit().isEmpty());
  
          valueText = new Text(formatNumber(gauge.getLocale(), gauge.getFormatString(), gauge.getDecimals(), gauge.getCurrentValue()));
          valueText.setFill(gauge.getValueColor());
          Helper.enableNode(valueText, gauge.isValueVisible());
  
          pane = new Pane(barBorder1,
                          barBorder2,
                          barBackground,
                          ticksAndSectionsCanvas,
                          titleText,
                          unitText,
                          ledCanvas,
                          lcd,
                          valueText,
                          bar,
                          barHighlight);
          pane.setBorder(new Border(new BorderStroke(gauge.getBorderPaint(), BorderStrokeStyle.SOLID, CornerRadii.EMPTY, new BorderWidths(gauge.getBorderWidth()))));
          pane.setBackground(new Background(new BackgroundFill(gauge.getBackgroundPaint(), CornerRadii.EMPTY, Insets.EMPTY)));
  
          getChildren().setAll(pane);
      }