class BaseUserEditorWorkflow implements IsWidget {

    protected void doDelete() {
        if (user != null && user.getIdentifier() != null) {
            confirmBox.show(UsersManagementWidgetsConstants.INSTANCE.confirmAction(),
                            UsersManagementWidgetsConstants.INSTANCE.ensureRemoveUser(),
                            new Command() {
                                @Override
                                public void execute() {
                                    final String id = user.getIdentifier();
                                    showLoadingBox();
                                    userSystemManager.users(new RemoteCallback<Void>() {
                                                                @Override
                                                                public void callback(Void o) {
                                                                    hideLoadingBox();
                                                                    final String id = user.getIdentifier();
                                                                    deleteUserEvent.fire(new DeleteUserEvent(id));
                                                                    workbenchNotification.fire(new NotificationEvent(UsersManagementWidgetsConstants.INSTANCE.userRemoved(id),
                                                                                                                     SUCCESS));
                                                                    checkClear();
                                                                }
                                                            },
                                                            errorCallback).delete(id);
                                }
                            },
                            new Command() {
                                @Override
                                public void execute() {

                                }
                            });
        }
    }

    public  BaseUserEditorWorkflow(final ClientUserSystemManager userSystemManager,
                                  final Event<OnErrorEvent> errorEvent,
                                  final Event<NotificationEvent> workbenchNotification,
                                  final Event<DeleteUserEvent> deleteUserEvent,
                                  final Event<SaveUserEvent> saveUserEvent,
                                  final ConfirmBox confirmBox,
                                  final UserEditor userEditor,
                                  final UserEditorDriver userEditorDriver,
                                  final ChangePassword changePassword,
                                  final LoadingBox loadingBox,
                                  final EntityWorkflowView view);

}