@Override
                protected void exec(final Range range,
                                    final Consumer<ResultPage<UserRef>> dataConsumer,
                                    final RestErrorHandler errorHandler) {
                    ExpressionOperator expression = QuickFilterExpressionParser
                            .parse(filter, UserFields.DEFAULT_FIELDS, UserFields.ALL_FIELDS_MAP);
                    if (additionalTerm != null) {
                        expression = expression.copy().addTerm(additionalTerm).build();
                    }
                    criteriaBuilder.expression(expression);
                    criteriaBuilder.pageRequest(CriteriaUtil.createPageRequest(range));
                    criteriaBuilder.sortList(CriteriaUtil.createSortList(dataGrid.getColumnSortList()));
                    restFactory
                            .create(RESOURCE)
                            .method(res -> res.find(criteriaBuilder.build()))
                            .onSuccess(dataConsumer)
                            .onFailure(errorHandler)
                            .taskMonitorFactory(pagerView)
                            .exec();
                }
For selecting a username to add a user to a permissions set or selecting a user to add to a group.
For internal IDP this will list users from account and stroom_user combined.
For external IDP this will list users from stroom_user only and users on the IDP but not in
stroom_user will have to be manually added to the list.
stroom-core-client/src/main/java/stroom/security/client/presenter/UserRefPopupPresenter.java