class ApplicationLayout extends VerticalLayout implements ViewDisplay {

    protected <T extends View & Component> T getCurrentView() {
        @SuppressWarnings("unchecked")
        T view = (T)mainArea;
        return view;
    }

    public  ApplicationLayout(ApplicationHeader header, @CheckForNull ApplicationFooter footer);

}