docs: private void getGroups(Entity entity, LdapEntry ldapEntry, GroupMembershipControl grpMbrshipCtrl) throws WIMException {
          if (grpMbrshipCtrl == null) {
              return;
          }
  
          int level = grpMbrshipCtrl.getLevel();
          List<String> propNames = grpMbrshipCtrl.getProperties();
          String[] bases = null;
          List<String> searchBases = grpMbrshipCtrl.getSearchBases();
          int size = searchBases.size();
          String[] grpBases = iLdapConfigMgr.getGroupSearchBases();
          if (size == 0) {
              // New:: Default search bases to top level nodes if no group level search bases are defined
              if (grpBases.length != 0)
                  bases = grpBases;
              else
                  bases = iLdapConfigMgr.getTopLdapNodes();
          } else {
              List<String> baseList = new ArrayList<String>(size);
              for (int i = 0; i < size; i++) {
                  String uName = searchBases.get(i);
                  String dn = getDN(uName, null, null, true, false);
                  baseList.add(dn);
              }
              bases = baseList.toArray(new String[0]);
          }
          bases = NodeHelper.getTopNodes(bases);
          if (iLdapConfigMgr.getMembershipAttribute() != null) {
              if (iLdapConfigMgr.isRacf())
                  getGroupsByMembershipRacf(entity, ldapEntry, bases, level, propNames, null);
              else {
                  getGroupsByMembership(entity, ldapEntry, bases, level, propNames, null);
              }
          } else {
              // If operational attribute "ibm-allGroups" is specified in groupMemberIdMap, then get groups using operational attr "ibm-allGroups"
              if (LdapConstants.IDS_LDAP_SERVER.equalsIgnoreCase(iLdapConfigMgr.getLdapType()) && iLdapConfigMgr.isLdapOperationalAttributeSet())
                  getGroupsByOperationalAttribute(entity, ldapEntry, bases, level, propNames);
              else {
                  getGroupsByMember(entity, ldapEntry, bases, level, propNames, null);
              }
          }
      }