docs: public void modifyRequest(ResponseBuilder rb, SearchComponent who,
        ShardRequest sreq) {
      if (sreq.params.getBool(MtasSolrSearchComponent.PARAM_MTAS, false)
          && sreq.params.getBool(PARAM_MTAS_GROUP, false)) {
        if ((sreq.purpose & ShardRequest.PURPOSE_GET_TOP_IDS) != 0) {
          // do nothing
          // Set<String> keys = MtasSolrResultUtil
          // .getIdsFromParameters(rb.req.getParams(), PARAM_MTAS_GROUP);
          // for (String key : keys) {
          // sreq.params.remove(
          // PARAM_MTAS_GROUP + "." + key + "." + NAME_MTAS_GROUP_NUMBER);
          // sreq.params.remove(
          // PARAM_MTAS_GROUP + "." + key + "." + NAME_MTAS_GROUP_START);
          // }
        } else {
          // remove prefix for other requests
          Set<String> keys = MtasSolrResultUtil
              .getIdsFromParameters(rb.req.getParams(), PARAM_MTAS_GROUP);
          sreq.params.remove(PARAM_MTAS_GROUP);
          Set<String> subKeys;
          for (String key : keys) {
            sreq.params.remove(
                PARAM_MTAS_GROUP + "." + key + "." + NAME_MTAS_GROUP_FIELD);
            sreq.params
                .remove(PARAM_MTAS_GROUP + "." + key + "." + NAME_MTAS_GROUP_KEY);
            sreq.params.remove(
                PARAM_MTAS_GROUP + "." + key + "." + NAME_MTAS_GROUP_NUMBER);
            sreq.params.remove(
                PARAM_MTAS_GROUP + "." + key + "." + NAME_MTAS_GROUP_START);
            sreq.params.remove(
                PARAM_MTAS_GROUP + "." + key + "." + NAME_MTAS_GROUP_QUERY_TYPE);
            sreq.params.remove(
                PARAM_MTAS_GROUP + "." + key + "." + NAME_MTAS_GROUP_QUERY_VALUE);
            sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                + NAME_MTAS_GROUP_QUERY_PREFIX);
            sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                + NAME_MTAS_GROUP_QUERY_IGNORE);
            sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                + NAME_MTAS_GROUP_QUERY_MAXIMUM_IGNORE_LENGTH);
            subKeys = MtasSolrResultUtil.getIdsFromParameters(rb.req.getParams(),
                PARAM_MTAS_GROUP + "." + key + "."
                    + NAME_MTAS_GROUP_GROUPING_LEFT);
            for (String subKey : subKeys) {
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_LEFT + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_POSITION);
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_LEFT + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_PREFIXES);
            }
            subKeys = MtasSolrResultUtil.getIdsFromParameters(rb.req.getParams(),
                PARAM_MTAS_GROUP + "." + key + "."
                    + NAME_MTAS_GROUP_GROUPING_RIGHT);
            for (String subKey : subKeys) {
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_RIGHT + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_POSITION);
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_RIGHT + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_PREFIXES);
            }
            subKeys = MtasSolrResultUtil.getIdsFromParameters(rb.req.getParams(),
                PARAM_MTAS_GROUP + "." + key + "."
                    + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE);
            for (String subKey : subKeys) {
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_POSITION);
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_PREFIXES);
            }
            subKeys = MtasSolrResultUtil.getIdsFromParameters(rb.req.getParams(),
                PARAM_MTAS_GROUP + "." + key + "."
                    + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE_LEFT);
            for (String subKey : subKeys) {
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE_LEFT + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_POSITION);
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE_LEFT + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_PREFIXES);
            }
            subKeys = MtasSolrResultUtil.getIdsFromParameters(rb.req.getParams(),
                PARAM_MTAS_GROUP + "." + key + "."
                    + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE_RIGHT);
            for (String subKey : subKeys) {
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE_RIGHT + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_POSITION);
              sreq.params.remove(PARAM_MTAS_GROUP + "." + key + "."
                  + NAME_MTAS_GROUP_GROUPING_HIT_INSIDE_RIGHT + "." + subKey + "."
                  + NAME_MTAS_GROUP_GROUPING_PREFIXES);
            }
          }
        }
      }
    }