class LinkkiUi extends UI {

    @Override
    protected void init(VaadinRequest request) {
        requireNonNull(applicationConfig,
                       "configure must be called before executing any initialization to set an ApplicationConfig");

        ApplicationLayout applicationLayout = applicationConfig.createApplicationLayout();

        setContent(applicationLayout);
        configureNavigator(applicationLayout);
        configureErrorHandler();

        // init converters
        VaadinSession vaadinSession = VaadinSession.getCurrent();
        if (vaadinSession != null) {
            vaadinSession.setAttribute(LinkkiConverterRegistry.class, applicationConfig.getConverterRegistry());
            vaadinSession.setErrorHandler(getErrorHandler());
        }

        Page.getCurrent().setTitle(getPageTitle());
    }

    @SuppressFBWarnings(value = "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR", justification = "applicationConfig/Layout will be non-null once configure was called") protected  LinkkiUi();
    @SuppressFBWarnings(value = "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR", justification = "applicationConfig/Layout will be non-null once configure was called") public  LinkkiUi(ApplicationConfig applicationConfig);

}