private Button buildMenuItem(MenuItem item) {
    Button button = new Button();
    button.textProperty().bind(item.textProperty());
    button.graphicProperty().bind(item.graphicProperty());
    button.disableProperty().bind(item.disableProperty());
    button.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
    button.getStyleClass().addAll(item.getStyleClass());
    button.setOnAction(item.getOnAction());

    // Only in cases ALWAYS and SOMETIMES: hide previously hovered button
    if (!Priority.NEVER.equals(getSkinnable().getMenuHoverBehavior())) {
      button.addEventHandler(MouseEvent.MOUSE_ENTERED, e -> { // Triggers on hovering over Button
        if (!isTouchUsed) {
          if (hoveredBtn != null) {
            hoveredBtn.hide(); // Hides the previously hovered Button if not null
          }
          hoveredBtn = null; // Sets it to null
        }
      });
    }
    return button;
  }
Defines the layout of all parts in the skin.
workbenchfx-core/src/main/java/com/dlsc/workbenchfx/view/controls/NavigationDrawerSkin.java