private void showOverlay(WorkbenchOverlay workbenchOverlay, boolean blocking) {
    LOGGER.trace("showOverlay - Blocking: " + blocking);
    Region overlay = workbenchOverlay.getOverlay();
    if (workbenchOverlay.isAnimated()) {
      if (overlay.getWidth() != 0) {
        workbenchOverlay.getAnimationStart().play();
      }
    }
    view.showOverlay(overlay);

    // if overlay is not blocking, make the overlay hide when the glass pane is clicked
    if (!blocking) {
      LOGGER.trace("showOverlay - Set GlassPane EventHandler");
      workbenchOverlay.getGlassPane().setOnMouseClicked(event -> {
        // check if overlay is really not blocking, is needed to avoid false-positives
        if (overlaysShown.contains(overlay)) {

          if (overlay == model.getDrawerShown()) {
            // if the overlay is the drawer that is currently being shown
            LOGGER.trace("GlassPane was clicked, hiding drawer");
            model.hideDrawer();
          } else if (overlay instanceof DialogControl) {
            // if the overlay is a dialog
            LOGGER.trace("GlassPane was clicked, hiding dialog");
            WorkbenchDialog dialog = ((DialogControl) overlay).getDialog();
            // send cancel button type as result of the dialog if available
            ButtonType cancelButtonType = dialog.getDialogControl().getCancelButtonType();
            // if not available, send the defined cancelDialogButtonType
            if (Objects.isNull(cancelButtonType)) {
              cancelButtonType = ButtonType.CANCEL;
            }
            dialog.getOnResult().accept(cancelButtonType);
            model.hideDialog(dialog);
          } else {
            LOGGER.trace("GlassPane was clicked, hiding overlay");
            model.hideOverlay(overlay);
          }
        }
      });
    }
  }
Makes the {@code overlay} visible, along with its {@code glassPane}.

@param workbenchOverlay the {@code overlay}'s corresponding model object
@param blocking if false, will make {@code overlay} hide, if its {@code glassPane} was clicked
workbenchfx-core/src/main/java/com/dlsc/workbenchfx/view/WorkbenchPresenter.java