public GroupingTransform addContinuation(Continuation cont) {
        if (cont instanceof CompositeContinuation) {
            for (Continuation item : ((CompositeContinuation)cont)) {
                addContinuation(item);
            }
        } else if (cont instanceof OffsetContinuation) {
            OffsetContinuation offsetCont = (OffsetContinuation)cont;
            ResultId id = offsetCont.getResultId();
            if (!id.startsWith(requestId)) {
                return this;
            }
            if (offsetCont.testFlag(OffsetContinuation.FLAG_UNSTABLE)) {
                unstable.add(id);
            } else {
                unstable.remove(id);
            }
            int tag = offsetCont.getTag();
            int offset = offsetCont.getOffset();
            if (getOffset(tag) < offset) {
                offsetByTag.put(tag, offset);
            }
            offsetById.put(id, offset);
        } else {
            throw new UnsupportedOperationException(cont.getClass().getName());
        }
        return this;
    }
This class contains enough information about how a {@link com.yahoo.search.grouping.request.GroupingOperation} was
transformed into a list {@link com.yahoo.searchlib.aggregation.Grouping} objects, so that the results of those
queries can be transformed into something that corresponds to the original request.

@author Simon Thoresen Hult
container-search/src/main/java/com/yahoo/search/grouping/vespa/GroupingTransform.java