class GroupCreationWorkflow implements IsWidget {

    public void create() {
        clear();

        // Configure the view with the create entity component first.
        view.setWidget(createEntity.asWidget())
                .setSaveButtonVisible(true)
                .setSaveButtonEnabled(true)
                .setSaveButtonText(UsersManagementWidgetsConstants.INSTANCE.next())
                .setCancelButtonVisible(false)
                .setCallback(new EntityWorkflowView.Callback() {
                    @Override
                    public void onSave() {
                        GroupCreationWorkflow.this.checkCreate();
                    }

                    @Override
                    public void onCancel() {
                        create();
                    }
                });

        createEntity.show(UsersManagementWidgetsConstants.INSTANCE.inputGroupName(),
                          UsersManagementWidgetsConstants.INSTANCE.groupName() + "...");
    }

    @Inject public  GroupCreationWorkflow(final ClientUserSystemManager userSystemManager,
                                 final Caller<AuthorizationService> authorizationService,
                                 final PermissionManager permissionManager,
                                 final Event<OnErrorEvent> errorEvent,
                                 final ConfirmBox confirmBox,
                                 final LoadingBox loadingBox,
                                 final Event<NotificationEvent> workbenchNotification,
                                 final CreateEntity createEntity,
                                 final GroupUsersAssignment groupUsersAssignment,
                                 final Event<CreateGroupEvent> onCreateGroupEvent,
                                 final EntityWorkflowView view);

}