code: protected void synchronizeGroupMembersOnUpdate(IEntityGroup group) throws GroupsException {
          EntityGroupImpl egi = (EntityGroupImpl) group;
          GroupMemberImpl gmi = null;
  
          for (Iterator it = egi.getAddedMembers().values().iterator(); it.hasNext(); ) {
              gmi = (GroupMemberImpl) it.next();
              gmi.invalidateInParentGroupsCache(Collections.singleton((IGroupMember) gmi));
              if (cacheInUse()) {
                  cacheUpdate(gmi);
              }
          }
  
          for (Iterator it = egi.getRemovedMembers().values().iterator(); it.hasNext(); ) {
              gmi = (GroupMemberImpl) it.next();
              gmi.invalidateInParentGroupsCache(Collections.singleton((IGroupMember) gmi));
              if (cacheInUse()) {
                  cacheUpdate(gmi);
              }
          }
      }
docs: Adjust the back pointers of the updated group members to either add or remove the parent
  group. Then update the cache to invalidate copies on peer servers.
  
  @param group ILockableEntityGroup