docs: @Override protected void initGraphics() {
          super.initGraphics();
  
          if (tile.isAutoScale()) tile.calcAutoScale();
  
          gradientLookup       = new GradientLookup(tile.getGradientStops());
          noOfGradientStops    = tile.getGradientStops().size();
          sectionsVisible      = tile.getSectionsVisible();
          colorGradientEnabled = tile.isStrokeWithGradient();
  
          titleText = new Text(tile.getTitle());
          titleText.setFill(tile.getTitleColor());
          Helper.enableNode(titleText, !tile.getTitle().isEmpty());
  
          valueText = new Text(String.format(locale, formatString, tile.getValue()));
          valueText.setFill(tile.getValueColor());
          Helper.enableNode(valueText, tile.isValueVisible());
  
          unitText = new Text(tile.getUnit());
          unitText.setFill(tile.getUnitColor());
          Helper.enableNode(unitText, !tile.getUnit().isEmpty());
  
          valueUnitFlow = new TextFlow(valueText, unitText);
          valueUnitFlow.setTextAlignment(TextAlignment.CENTER);
  
          text = new Text(tile.getText());
          text.setTextOrigin(VPos.TOP);
          text.setFill(tile.getTextColor());
  
          barBackground = new Arc(PREFERRED_WIDTH * 0.5, PREFERRED_HEIGHT * 0.5, PREFERRED_WIDTH * 0.4, PREFERRED_HEIGHT * 0.4, 0, ANGLE_RANGE);
          barBackground.setType(ArcType.OPEN);
          barBackground.setStroke(tile.getBarBackgroundColor());
          barBackground.setStrokeWidth(PREFERRED_WIDTH * 0.125);
          barBackground.setStrokeLineCap(StrokeLineCap.BUTT);
          barBackground.setFill(null);
  
          bar = new Arc(PREFERRED_WIDTH * 0.5, PREFERRED_HEIGHT * 0.5, PREFERRED_WIDTH * 0.4, PREFERRED_HEIGHT * 0.4, 270, 0);
          bar.setType(ArcType.OPEN);
          bar.setStroke(tile.getBarColor());
          bar.setStrokeWidth(PREFERRED_WIDTH * 0.125);
          bar.setStrokeLineCap(StrokeLineCap.BUTT);
          bar.setFill(null);
  
          threshold = new Line();
          threshold.setStroke(tile.getThresholdColor());
          threshold.setStrokeLineCap(StrokeLineCap.BUTT);
          Helper.enableNode(threshold, tile.isThresholdVisible());
  
          thresholdText = new Text(String.format(locale, formatString, tile.getThreshold()));
          Helper.enableNode(thresholdText, tile.isThresholdVisible());
  
          minValueText = new Text();
          maxValueText = new Text();
  
          getPane().getChildren().addAll(barBackground, bar, threshold, thresholdText, minValueText, maxValueText, titleText, valueUnitFlow, text);
      }