class UserCreationWorkflow extends BaseUserEditorWorkflow {

    protected void doEdit() {

        // Configure the workflow's view.
        doShowEditorView();
        setDirty(false);

        // Edit the instance using the user editor's driver.
        edit();

        // Enable the create button by default, not as the default edition behavior.
        view
                .setSaveButtonText(UsersManagementWidgetsConstants.INSTANCE.create())
                .setSaveButtonEnabled(true)
                .setSaveButtonVisible(true)
                .setCancelButtonVisible(true);

        // When creating, the edit, change password and delete buttons must not be available.
        getUserEditor()
                .setEditButtonVisible(false)
                .setChangePasswordButtonVisible(false)
                .setDeleteButtonVisible(false);
    }

    @Inject public  UserCreationWorkflow(final ClientUserSystemManager userSystemManager,
                                final Event<OnErrorEvent> errorEvent,
                                final Event<NotificationEvent> workbenchNotification,
                                final Event<DeleteUserEvent> deleteUserEvent,
                                final Event<SaveUserEvent> saveUserEvent,
                                final Event<CreateUserEvent> createUserEvent,
                                final ConfirmBox confirmBox,
                                final CreateEntity createEntity,
                                final UserEditor userEditor,
                                final UserEditorDriver userEditorDriver,
                                final ChangePassword changePassword,
                                final LoadingBox loadingBox,
                                final EntityWorkflowView view);

}