docs: static IntersectionImpl initNewDirectInstance(final long seed, final WritableMemory dstMem) {
      final IntersectionImpl impl = new IntersectionImpl(dstMem, seed, true);
  
      //Load Preamble
      insertPreLongs(dstMem, CONST_PREAMBLE_LONGS); //RF not used = 0
      insertSerVer(dstMem, SER_VER);
      insertFamilyID(dstMem, Family.INTERSECTION.getID());
      //Note: Intersection does not use lgNomLongs or k, per se.
      //set lgArrLongs initially to minimum.  Don't clear cache in mem
      insertLgArrLongs(dstMem, MIN_LG_ARR_LONGS);
      insertFlags(dstMem, 0); //bigEndian = readOnly = compact = ordered = empty = false;
      //seedHash loaded and checked in private constructor
      insertCurCount(dstMem, -1);
      insertP(dstMem, (float) 1.0);
      insertThetaLong(dstMem, Long.MAX_VALUE);
  
      //Initialize
      impl.lgArrLongs_ = MIN_LG_ARR_LONGS;
      impl.curCount_ = -1; //set in mem below
      impl.thetaLong_ = Long.MAX_VALUE;
      impl.empty_ = false;
      impl.maxLgArrLongs_ = checkMaxLgArrLongs(dstMem); //Only Off Heap
  
      return impl;
    }