docs: private void filterAnalyticsGroups(
              IGroupMember groupMember, JsonNode config, Map<String, Boolean> isMemberCache) {
          if (config == null) {
              return;
          }
  
          final JsonNode dimensionGroups = config.get("dimensionGroups");
          if (dimensionGroups == null) {
              return;
          }
  
          for (final Iterator<JsonNode> groupItr = dimensionGroups.elements(); groupItr.hasNext(); ) {
              final JsonNode group = groupItr.next();
  
              final JsonNode valueNode = group.get("value");
              if (valueNode == null) {
                  continue;
              }
  
              final String groupName = valueNode.asText();
  
              Boolean isMember = isMemberCache.get(groupName);
              if (isMember == null) {
                  isMember = isMember(groupMember, groupName);
                  isMemberCache.put(groupName, isMember);
              }
  
              if (!isMember) {
                  groupItr.remove();
              }
          }
      }