docs: public VarOptItemsSketch<T> getResult() {
      // If no marked items in H, gadget is already valid mathematically. We can return what is
      // basically just a copy of the gadget.
      if (gadget_.getNumMarksInH() == 0) {
        return simpleGadgetCoercer();
      } else {
        // At this point, we know that marked items are present in H. So:
        //   1. Result will necessarily be in estimation mode
        //   2. Marked items currently in H need to be absorbed into reservoir (R)
        final VarOptItemsSketch<T> tmp = detectAndHandleSubcaseOfPseudoExact();
        if (tmp != null) {
          // sub-case detected and handled, so return the result
          return tmp;
        } else {
          // continue with main logic
          return migrateMarkedItemsByDecreasingK();
        }
      }
    }