private void bindDrawerHeight(Region drawer) {
        drawer.setMinHeight(0); // make sure minHeight isn't larger than maxHeight
        drawer.maxHeightProperty().bind(
                Bindings.createDoubleBinding(
                        () -> {
                            double computedHeight = drawer.prefHeight(-1);
                            // calculate the height the drawer can take up without being so large that it can't be
                            // hidden anymore by clicking on the GlassPane (GlassPane covers minimum of 10%)
                            double maxDrawerHeight = heightProperty().get() * 0.9;
                            return Math.min(computedHeight, maxDrawerHeight);
                        }, drawer.maxHeightProperty(), heightProperty()
                )
        );
    }
Shows the {@code drawer} on the defined {@code side} in the {@link Workbench}, ensuring the
{@code drawer} doesn't cover more than the specified {@code percentage}.

@param drawer     to be shown
@param side       of the workbench, on which the {@code drawer} should be positioned
@param percentage value between 0 and 100, defining how much <b>maximum</b> coverage the drawer
                  should have or -1, to have the drawer size according to its computed size
workbenchfx-core/src/main/java/com/dlsc/workbenchfx/Workbench.java