docs: @Override protected void initGraphics() {
          // Set initial size
          if (Double.compare(clock.getPrefWidth(), 0.0) <= 0 || Double.compare(clock.getPrefHeight(), 0.0) <= 0 ||
              Double.compare(clock.getWidth(), 0.0) <= 0 || Double.compare(clock.getHeight(), 0.0) <= 0) {
              if (clock.getPrefWidth() > 0 && clock.getPrefHeight() > 0) {
                  clock.setPrefSize(clock.getPrefWidth(), clock.getPrefHeight());
              } else {
                  clock.setPrefSize(PREFERRED_WIDTH, PREFERRED_HEIGHT);
              }
          }
  
          ZonedDateTime time = clock.getTime();
  
          secondBackgroundCircle = new Circle(PREFERRED_WIDTH * 0.5, PREFERRED_HEIGHT * 0.5, PREFERRED_WIDTH * 0.48);
          secondBackgroundCircle.setStrokeWidth(PREFERRED_WIDTH * 0.008);
          secondBackgroundCircle.setStrokeType(StrokeType.CENTERED);
          secondBackgroundCircle.setStrokeLineCap(StrokeLineCap.ROUND);
          secondBackgroundCircle.setFill(null);
          secondBackgroundCircle.setStroke(Helper.getTranslucentColorFrom(clock.getSecondColor(), 0.2));
          secondBackgroundCircle.setVisible(clock.isSecondsVisible());
          secondBackgroundCircle.setManaged(clock.isSecondsVisible());
  
          dateText = new Text(dateTextFormatter.format(time));
          dateText.setVisible(clock.isDayVisible());
          dateText.setManaged(clock.isDayVisible());
  
          dateNumbers = new Text(dateNumberFormatter.format(time));
          dateNumbers.setVisible(clock.isDateVisible());
          dateNumbers.setManaged(clock.isDateVisible());
  
          hour = new Text(HOUR_FORMATTER.format(time));
          hour.setFill(clock.getHourColor());
  
          minute = new Text(MINUTE_FORMATTER.format(time));
          minute.setFill(clock.getMinuteColor());
  
          secondArc = new Arc(PREFERRED_WIDTH * 0.5, PREFERRED_HEIGHT * 0.5, PREFERRED_WIDTH * 0.96, PREFERRED_WIDTH * 0.48, 90, (-6 * clock.getTime().getSecond()));
          secondArc.setStrokeWidth(PREFERRED_WIDTH * 0.008);
          secondArc.setStrokeType(StrokeType.CENTERED);
          secondArc.setStrokeLineCap(StrokeLineCap.ROUND);
          secondArc.setFill(null);
          secondArc.setStroke(clock.getSecondColor());
          secondArc.setVisible(clock.isSecondsVisible());
          secondArc.setManaged(clock.isSecondsVisible());
  
          pane = new Pane(secondBackgroundCircle, dateText, dateNumbers, hour, minute, secondArc);
          pane.setBorder(new Border(new BorderStroke(clock.getBorderPaint(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(clock.getBorderWidth()))));
          pane.setBackground(new Background(new BackgroundFill(clock.getBackgroundPaint(), new CornerRadii(1024), Insets.EMPTY)));
  
          getChildren().setAll(pane);
      }