code: static UnionImpl initNewDirectInstance(
        final int lgNomLongs,
        final long seed,
        final float p,
        final ResizeFactor rf,
        final MemoryRequestServer memReqSvr,
        final WritableMemory dstMem) {
      final UpdateSketch gadget = new DirectQuickSelectSketch(
          lgNomLongs, seed, p, rf, memReqSvr, dstMem, true); //create with UNION family
      final UnionImpl unionImpl = new UnionImpl(gadget, seed);
      unionImpl.unionThetaLong_ = gadget.getThetaLong();
      unionImpl.unionEmpty_ = gadget.isEmpty();
      return unionImpl;
    }
docs: Construct a new Direct Union in the off-heap destination Memory.
  Called by SetOperationBuilder.
  
  @param lgNomLongs <a href="{@docRoot}/resources/dictionary.html#lgNomLogs">See lgNomLongs</a>.
  @param seed <a href="{@docRoot}/resources/dictionary.html#seed">See seed</a>
  @param p <a href="{@docRoot}/resources/dictionary.html#p">See Sampling Probability, <i>p</i></a>
  @param rf <a href="{@docRoot}/resources/dictionary.html#resizeFactor">See Resize Factor</a>
  @param memReqSvr a given instance of a MemoryRequestServer
  @param dstMem the given Memory object destination. It will be cleared prior to use.
  @return this class