docs: @SuppressWarnings("unchecked")
    void merge(final long key, final S summary, final SummarySetOperations<S> summarySetOps) {
      isEmpty_ = false;
      if (key < theta_) {
        final int index = findOrInsert(key);
        if (index < 0) {
          insertSummary(~index, (S)summary.copy());
        } else {
          insertSummary(index, summarySetOps.union(summaries_[index], summary));
        }
        rebuildIfNeeded();
      }
    }