private boolean showOverlay(Region overlay, boolean blocking, Side side) {
        LOGGER.trace("showOverlay - animated");
        if (!overlays.containsKey(overlay)) {
            overlays.put(overlay,
                    new WorkbenchOverlay(overlay, new GlassPane(), slideIn(overlay), slideOut(overlay))
            );
            addInitialAnimationHandler(overlays.get(overlay), side);
        }
        return showOverlay(overlay, blocking);
    }
Shows the {@code overlay} on top of the view, with a {@link GlassPane} in the background.
The overlay will be shown and hidden with an animation, sliding the overlay in and out
from the defined {@code side}.

@param overlay  to be shown
@param blocking If false (non-blocking), clicking outside of the {@code overlay} will cause it
                to get hidden, together with its {@link GlassPane}. If true (blocking),
                clicking outside of the {@code overlay} will not do anything. The {@code
                overlay} itself must call {@link Workbench#hideOverlay(Region)} to hide it.
@param side     from which the {@code overlay} should be slid when the overlay is being shown or
                hidden
@return true if the overlay is not being shown already
workbenchfx-core/src/main/java/com/dlsc/workbenchfx/Workbench.java