class UserEditorDriver implements Driver<User, UserEditor> {

    public void edit(final User user,
                     final UserEditor userEditor) {
        this.isFlushed = false;
        this.isEditMode = true;
        this.user = user;
        this.userEditor = userEditor;
        // Root editor edition.
        userEditor.edit(user);
        // Sub-editors edition.
        userEditor.attributesEditor().edit(user);
        userEditor.groupsExplorer().edit(user);
        userEditor.rolesExplorer().edit(user);
    }

    @Inject public  UserEditorDriver(final ClientUserSystemManager userSystemManager);

}