}
N = groups.size();
org.jitterbit.integration.server.implementation.webservice.useradmin.client.Group[] rawGroups = new org.jitterbit.integration.server.implementation.webservice.useradmin.client.Group[N];
for (int i = 0; i < N; ++i) {
Group group = groups.get(i);
rawGroups[i] = new org.jitterbit.integration.server.implementation.webservice.useradmin.client.Group(
group.getId().toString(), group.getName(), group.getDescription());
}
// Remove all GroupUsers that refer to groups that do not have any members
// The server crashes on that kind of configuration, the info is not needed by the server
// GroupUsersList will only contain those GroupUsers that have members.
List<GroupUsers> nonEmptyGroupUsersList = Lists.newArrayList();
for (Group group : groups) {
List<User> members = group.getMembers();
if (!members.isEmpty()) {
GroupUsers gu = new GroupUsers();
gu.groupId = group.getId();
gu.userIds = Lists.newArrayList();
for (User member : members) {
gu.userIds.add(member.getId());
}
nonEmptyGroupUsersList.add(gu);