void (boolean restoreSession) { Project project = getOrCreateProject(); invokeOnEdt(() -> { boolean notify = false; if (myFrameWrapper == null) { mySaveSession = restoreSession; myFrameWrapper = LightEditFrameWrapperKt.allocateLightEditFrame(project, myConfiguration.frameInfo); LOG.info("Frame created"); if (restoreSession) { restoreSession(); } notify = true; } IdeFrameImpl frame = myFrameWrapper.getFrame(); if (!frame.isVisible()) { frame.setVisible(true); LOG.info("Window opened"); notify = true; } myFrameWrapper.setFrameTitle(getAppName()); if (notify) { ApplicationManager.getApplication().getMessageBus().syncPublisher(LightEditServiceListener.TOPIC).lightEditWindowOpened(project); } }); }