docs: @Override
      public Iterator findMemberGroups(IEntityGroup eg) throws GroupsException {
          Map groups = new HashMap();
          IEntityGroup group = null;
          for (Iterator itr = findLocalMemberGroups(eg); itr.hasNext(); ) {
              group = (IEntityGroup) itr.next();
              groups.put(group.getKey(), group);
          }
  
          String[] memberGroupKeys = getGroupStore().findMemberGroupKeys(eg);
          for (int i = 0; i < memberGroupKeys.length; i++) {
              if (!groups.containsKey(memberGroupKeys[i])) {
                  group = GroupService.findGroup(memberGroupKeys[i]);
                  if (group != null) {
                      groups.put(group.getKey(), group);
                  }
              }
          }
          return groups.values().iterator();
      }