docs: protected Set<IEntityGroup> primGetAncestorGroups(IGroupMember member, Set<IEntityGroup> rslt)
              throws GroupsException {
          for (IEntityGroup group : member.getParentGroups()) {
              // avoid stack overflow in case of circular group dependencies
              if (!rslt.contains(group)) {
                  rslt.add(group);
                  primGetAncestorGroups(group, rslt);
              }
          }
          return rslt;
      }