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);
              }
          }
  
          mainInnerShadow0 = new InnerShadow();
          mainInnerShadow0.setOffsetX(0.0);
          mainInnerShadow0.setOffsetY(0.0);
          mainInnerShadow0.setRadius(3.0 / 132.0 * PREFERRED_WIDTH);
          mainInnerShadow0.setColor(Color.rgb(255, 255, 255, 0.5));
          mainInnerShadow0.setBlurType(BlurType.TWO_PASS_BOX);
  
          mainInnerShadow1 = new InnerShadow();
          mainInnerShadow1.setOffsetX(0.0);
          mainInnerShadow1.setOffsetY(1.0);
          mainInnerShadow1.setRadius(2.0 / 132.0 * PREFERRED_WIDTH);
          mainInnerShadow1.setColor(Color.rgb(0, 0, 0, 0.65));
          mainInnerShadow1.setBlurType(BlurType.TWO_PASS_BOX);
          mainInnerShadow1.setInput(mainInnerShadow0);
  
          crystalClip = new Rectangle(0, 0, PREFERRED_WIDTH, PREFERRED_HEIGHT);
          crystalClip.setArcWidth(5);
          crystalClip.setArcHeight(5);
  
          crystalImage   = Helper.createNoiseImage(PREFERRED_WIDTH, PREFERRED_HEIGHT, DARK_NOISE_COLOR, BRIGHT_NOISE_COLOR, 8);
          crystalOverlay = new ImageView(crystalImage);
          crystalOverlay.setClip(crystalClip);
          boolean crystalEnabled = clock.isLcdCrystalEnabled();
          crystalOverlay.setManaged(crystalEnabled);
          crystalOverlay.setVisible(crystalEnabled);
  
          boolean secondsVisible = clock.isSecondsVisible();
  
          backgroundTimeText = new Text("");
          backgroundTimeText.setFill(clock.getLcdDesign().lcdBackgroundColor);
          backgroundTimeText.setOpacity((LcdFont.LCD == clock.getLcdFont() || LcdFont.ELEKTRA == clock.getLcdFont()) ? 1 : 0);
  
          backgroundSecondText = new Text("");
          backgroundSecondText.setFill(clock.getLcdDesign().lcdBackgroundColor);
          backgroundSecondText.setOpacity((LcdFont.LCD == clock.getLcdFont() || LcdFont.ELEKTRA == clock.getLcdFont()) ? 1 : 0);
          backgroundSecondText.setManaged(secondsVisible);
          backgroundSecondText.setVisible(secondsVisible);
  
          timeText = new Text("");
          timeText.setFill(clock.getLcdDesign().lcdForegroundColor);
  
          secondText = new Text("");
          secondText.setFill(clock.getLcdDesign().lcdForegroundColor);
          secondText.setManaged(secondsVisible);
          secondText.setVisible(secondsVisible);
  
          title = new Text(clock.getTitle());
          title.setFill(clock.getLcdDesign().lcdForegroundColor);
          boolean titleVisible = clock.isTitleVisible();
          title.setManaged(titleVisible);
          title.setVisible(titleVisible);
  
          dateText = new Text(dateFormat.format(clock.getTime()));
          dateText.setFill(clock.getLcdDesign().lcdForegroundColor);
          boolean dateVisible = clock.isDateVisible();
          dateText.setManaged(dateVisible);
          dateText.setVisible(dateVisible);
  
          dayOfWeekText = new Text("");
          dayOfWeekText.setFill(clock.getLcdDesign().lcdForegroundColor);
          dayOfWeekText.setManaged(dateVisible);
          dayOfWeekText.setVisible(dateVisible);
  
          alarm = new Path();
          alarm.setFillRule(FillRule.EVEN_ODD);
          alarm.setStroke(null);
          boolean alarmVisible = clock.getAlarms().size() > 0;
          alarm.setManaged(alarmVisible);
          alarm.setVisible(alarmVisible);
  
          shadowGroup = new Group();
          shadowGroup.setEffect(clock.getShadowsEnabled() ? FOREGROUND_SHADOW : null);
          shadowGroup.getChildren().setAll(timeText,
                                           secondText,
                                           title,
                                           dateText,
                                           dayOfWeekText,
                                           alarm);
  
          pane = new Pane();
          pane.setEffect(clock.getShadowsEnabled() ? mainInnerShadow1 : null);
          pane.getChildren().setAll(crystalOverlay,
                                    backgroundTimeText,
                                    backgroundSecondText,
                                    shadowGroup);
          getChildren().setAll(pane);
      }