private void create() {
    if (myProject.isDisposed()) {
      return;
    }
    Thread.currentThread().setUncaughtExceptionHandler(SceneBuilderImpl::logUncaughtException);

    myEditorController = new EditorController();
    updateCustomLibrary();
    JavaFXPlatformHelper.setupJFXPanel(myPanel, myEditorController);

    loadFile();

    myListener = JavaFXPlatformHelper.createChangeListener(() -> {
      if (!mySkipChanges) {
        myEditorCallback.saveChanges(myEditorController.getFxmlText());
      }
    });
    mySelectionListener = JavaFXPlatformHelper.createChangeListener(() -> {
      if (!mySkipChanges) {
        mySelectionState = getSelectionState();
      }
    });

    JavaFXPlatformHelper.addListeners(myEditorController, myListener, mySelectionListener);
  }
private void create()