docs: @Override protected void initGraphics() {
          super.initGraphics();
  
          mouseEventHandler = e -> {
              final EventType TYPE = e.getEventType();
              if (MouseEvent.MOUSE_PRESSED == TYPE) {
                  tile.setActive(!tile.isActive());
                  tile.fireEvent(SWITCH_PRESSED);
              } else if(MouseEvent.MOUSE_RELEASED == TYPE) {
                  tile.fireEvent(SWITCH_RELEASED);
              }
          };
          selectedListener = o -> moveThumb();
  
          timeline = new Timeline();
  
          titleText = new Text();
          titleText.setFill(tile.getTitleColor());
          Helper.enableNode(titleText, !tile.getTitle().isEmpty());
  
          text = new Text(tile.getText());
          text.setFill(tile.getUnitColor());
          Helper.enableNode(text, tile.isTextVisible());
  
          description = new Label(tile.getDescription());
          description.setAlignment(tile.getDescriptionAlignment());
          description.setWrapText(true);
          description.setTextFill(tile.getTextColor());
          Helper.enableNode(description, !tile.getDescription().isEmpty());
  
          switchBorder = new Rectangle();
  
          switchBackground = new Rectangle();
          switchBackground.setMouseTransparent(true);
          switchBackground.setFill(tile.isActive() ? tile.getActiveColor() : tile.getBackgroundColor());
  
          thumb = new Circle();
          thumb.setMouseTransparent(true);
          thumb.setEffect(shadow);
  
          getPane().getChildren().addAll(titleText, text, description, switchBorder, switchBackground, thumb);
      }