docs: @Override
      @SuppressWarnings("unchecked")
      public Iterator findEntitiesForGroup(IEntityGroup group) throws GroupsException {
  
          if (LOGGER.isDebugEnabled()) {
              LOGGER.debug("Searching Grouper for members of the group with key: " + group.getKey());
          }
  
          try {
  
              // execute a search for members of the specified group
              GcGetMembers getGroupsMembers = new GcGetMembers();
              getGroupsMembers.addGroupName(group.getLocalKey());
              getGroupsMembers.assignIncludeSubjectDetail(true);
              WsGetMembersResults results = getGroupsMembers.execute();
  
              if (results == null
                      || results.getResults() == null
                      || results.getResults().length == 0
                      || results.getResults()[0].getWsSubjects() == null) {
                  LOGGER.debug("No members found for Grouper group with key " + group.getLocalKey());
                  return Collections.<IGroupMember>emptyList().iterator();
              }
  
              WsSubject[] gInfos = results.getResults()[0].getWsSubjects();
              final List<IGroupMember> members = new ArrayList<IGroupMember>(gInfos.length);
  
              // add each result to the member list
              for (WsSubject gInfo : gInfos) {
  
                  // if the member is not a group (aka person)
                  if (!StringUtils.equals(gInfo.getSourceId(), "g:gsa")) {
  
                      if (LOGGER.isDebugEnabled()) {
                          LOGGER.debug(
                                  "creating leaf member:"
                                          + gInfo.getId()
                                          + " and name: "
                                          + gInfo.getName()
                                          + " from group: "
                                          + group.getLocalKey());
                      }
                      // use the name instead of id as it shows better in the display
                      IGroupMember member = new EntityImpl(gInfo.getName(), IPerson.class);
                      members.add(member);
                  }
              }
  
              // return an iterator for the assembled group
              return members.iterator();
  
          } catch (Exception e) {
              LOGGER.warn(
                      "Exception while attempting to retrieve "
                              + "member entities of group with key "
                              + group.getKey()
                              + " from Grouper web services: "
                              + e.getMessage());
              return Collections.<IGroupMember>emptyList().iterator();
          }
      }