private void reloadDynMemberships() {
GroupFiqlSearchConditionBuilder searchConditionBuilder = SyncopeClient.getGroupSearchConditionBuilder();
List<CompleteCondition> conditions = GroupableRelatableTO.class.cast(anyTO).getDynMemberships().
stream().map(membership
-> searchConditionBuilder.is("key").equalTo(membership.getGroupKey()).wrap()).
collect(Collectors.toList());
dynMemberships = new ArrayList<>();
if (SyncopeConsoleSession.get().owns(StandardEntitlement.GROUP_SEARCH) && !conditions.isEmpty()) {
dynMemberships.addAll(groupRestClient.search(
SyncopeConstants.ROOT_REALM,
searchConditionBuilder.or(conditions).query(),
-1,
-1,
new SortParam<>("name", true),
null).stream().map(GroupTO::getName).collect(Collectors.toList()));
}
}