docs: public void modifyRequest(ResponseBuilder rb, SearchComponent who,
        ShardRequest sreq) {
      if ((sreq.purpose & ShardRequest.PURPOSE_GET_TOP_IDS) != 0) {
        // do nothing
      } else {
        // remove stats for other requests
        sreq.params.remove(PARAM_MTAS_STATS);
        sreq.params.remove(PARAM_MTAS_STATS_POSITIONS);
        Set<String> keys = MtasSolrResultUtil
            .getIdsFromParameters(rb.req.getParams(), PARAM_MTAS_STATS_POSITIONS);
        for (String key : keys) {
          sreq.params.remove(
              PARAM_MTAS_STATS + "." + key + "." + NAME_MTAS_STATS_POSITIONS_KEY);
          sreq.params.remove(PARAM_MTAS_STATS + "." + key + "."
              + NAME_MTAS_STATS_POSITIONS_FIELD);
          sreq.params.remove(PARAM_MTAS_STATS + "." + key + "."
              + NAME_MTAS_STATS_POSITIONS_TYPE);
          sreq.params.remove(PARAM_MTAS_STATS + "." + key + "."
              + NAME_MTAS_STATS_POSITIONS_MAXIMUM);
          sreq.params.remove(PARAM_MTAS_STATS + "." + key + "."
              + NAME_MTAS_STATS_POSITIONS_MINIMUM);
        }
        sreq.params.remove(PARAM_MTAS_STATS_TOKENS);
        keys = MtasSolrResultUtil.getIdsFromParameters(rb.req.getParams(),
            PARAM_MTAS_STATS_TOKENS);
        for (String key : keys) {
          sreq.params.remove(
              PARAM_MTAS_STATS + "." + key + "." + NAME_MTAS_STATS_TOKENS_KEY);
          sreq.params.remove(
              PARAM_MTAS_STATS + "." + key + "." + NAME_MTAS_STATS_TOKENS_FIELD);
          sreq.params.remove(
              PARAM_MTAS_STATS + "." + key + "." + NAME_MTAS_STATS_TOKENS_TYPE);
          sreq.params.remove(PARAM_MTAS_STATS + "." + key + "."
              + NAME_MTAS_STATS_TOKENS_MAXIMUM);
          sreq.params.remove(PARAM_MTAS_STATS + "." + key + "."
              + NAME_MTAS_STATS_TOKENS_MINIMUM);
        }
        sreq.params.remove(PARAM_MTAS_STATS_SPANS);
        keys = MtasSolrResultUtil.getIdsFromParameters(rb.req.getParams(),
            PARAM_MTAS_STATS_SPANS);
        for (String key : keys) {
          sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
              + NAME_MTAS_STATS_SPANS_KEY);
          sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
              + NAME_MTAS_STATS_SPANS_FIELD);
          sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
              + NAME_MTAS_STATS_SPANS_TYPE);
          sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
              + NAME_MTAS_STATS_SPANS_MAXIMUM);
          sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
              + NAME_MTAS_STATS_SPANS_MINIMUM);
          Set<String> subKeys = MtasSolrResultUtil
              .getIdsFromParameters(rb.req.getParams(), PARAM_MTAS_STATS_SPANS
                  + "." + key + "." + NAME_MTAS_STATS_SPANS_FUNCTION);
          for (String subKey : subKeys) {
            sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                + NAME_MTAS_STATS_SPANS_FUNCTION + "." + subKey + "."
                + SUBNAME_MTAS_STATS_SPANS_FUNCTION_EXPRESSION);
            sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                + NAME_MTAS_STATS_SPANS_FUNCTION + "." + subKey + "."
                + SUBNAME_MTAS_STATS_SPANS_FUNCTION_KEY);
            sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                + NAME_MTAS_STATS_SPANS_FUNCTION + "." + subKey + "."
                + SUBNAME_MTAS_STATS_SPANS_FUNCTION_TYPE);
          }
          subKeys = MtasSolrResultUtil.getIdsFromParameters(rb.req.getParams(),
              PARAM_MTAS_STATS_SPANS + "." + key + "."
                  + NAME_MTAS_STATS_SPANS_QUERY);
          for (String subKey : subKeys) {
            sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                + NAME_MTAS_STATS_SPANS_QUERY + "." + subKey + "."
                + SUBNAME_MTAS_STATS_SPANS_QUERY_IGNORE);
            sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                + NAME_MTAS_STATS_SPANS_QUERY + "." + subKey + "."
                + SUBNAME_MTAS_STATS_SPANS_QUERY_MAXIMUM_IGNORE_LENGTH);
            sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                + NAME_MTAS_STATS_SPANS_QUERY + "." + subKey + "."
                + SUBNAME_MTAS_STATS_SPANS_QUERY_PREFIX);
            sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                + NAME_MTAS_STATS_SPANS_QUERY + "." + subKey + "."
                + SUBNAME_MTAS_STATS_SPANS_QUERY_TYPE);
            sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                + NAME_MTAS_STATS_SPANS_QUERY + "." + subKey + "."
                + SUBNAME_MTAS_STATS_SPANS_QUERY_VALUE);
            Set<String> subSubKeys = MtasSolrResultUtil.getIdsFromParameters(
                rb.req.getParams(),
                PARAM_MTAS_STATS_SPANS + "." + key + "."
                    + NAME_MTAS_STATS_SPANS_QUERY + "." + subKey + "."
                    + SUBNAME_MTAS_STATS_SPANS_QUERY_VARIABLE);
            for (String subSubKey : subSubKeys) {
              sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                  + NAME_MTAS_STATS_SPANS_QUERY + "." + subKey + "."
                  + SUBNAME_MTAS_STATS_SPANS_QUERY_VARIABLE + "." + subSubKey
                  + "." + SUBNAME_MTAS_STATS_SPANS_QUERY_VARIABLE_NAME);
              sreq.params.remove(PARAM_MTAS_STATS_SPANS + "." + key + "."
                  + NAME_MTAS_STATS_SPANS_QUERY + "." + subKey + "."
                  + SUBNAME_MTAS_STATS_SPANS_QUERY_VARIABLE + "." + subSubKey
                  + "." + SUBNAME_MTAS_STATS_SPANS_QUERY_VARIABLE_VALUE);
            }
          }
        }
      }
    }