class BaseEditor {

    protected Supplier<Boolean> getSaveValidator() {

        return () -> {

            if (isReadOnly && versionRecordManager.isCurrentLatest()) {
                baseView.alertReadOnly();
                return false;
            } else if (isReadOnly && !versionRecordManager.isCurrentLatest()) {
                versionRecordManager.restoreToCurrentVersion(saveWithComments);
                return false;
            }

            if (concurrentUpdateSessionInfo != null) {
                showConcurrentUpdatePopup();
                return false;
            } else {
                return true;
            }
        };
    }

      BaseEditor(VersionRecordManager versionRecordManager,
               BaseEditorView baseView,
               BasicFileMenuBuilder menuBuilder,
               Event<ChangeTitleWidgetEvent> changeTitleNotification);
    protected  BaseEditor();
    protected  BaseEditor(final BaseEditorView baseView);

}