class GuvnorDefaultEditorPresenter extends KieEditor<String> {

    @Override
    protected Promise<Void> makeMenuBar() {
        if (workbenchContext.getActiveWorkspaceProject().isPresent()) {
            final WorkspaceProject activeProject = workbenchContext.getActiveWorkspaceProject().get();
            return projectController.canUpdateProject(activeProject).then(canUpdateProject -> {
                if (canUpdateProject) {
                    fileMenuBuilder
                            .addSave(versionRecordManager.newSaveMenuItem(this::saveAction))
                            .addCopy(versionRecordManager.getCurrentPath(),
                                     assetUpdateValidator)
                            .addRename(versionRecordManager.getCurrentPath(),
                                       assetUpdateValidator)
                            .addDelete(versionRecordManager.getCurrentPath(),
                                       assetUpdateValidator);
                }

                addDownloadMenuItem(fileMenuBuilder);

                fileMenuBuilder
                        .addNewTopLevelMenu(versionRecordManager.buildMenu())
                        .addNewTopLevelMenu(alertsButtonMenuItemBuilder.build());

                return promises.resolve();
            });
        }

        return promises.resolve();
    }

    @Inject public  GuvnorDefaultEditorPresenter(final GuvnorDefaultEditorView baseView);

}