code: static final long[] compactCachePart(final long[] srcCache, final int lgArrLongs,
        final int curCount, final long thetaLong, final boolean dstOrdered) {
      if (curCount == 0) {
        return new long[0];
      }
      final long[] cacheOut = new long[curCount];
      final int len = 1 << lgArrLongs;
      int j = 0;
      for (int i = 0; i < len; i++) {
        final long v = srcCache[i];
        if ((v <= 0L) || (v >= thetaLong) ) { continue; }
        cacheOut[j++] = v;
      }
      assert curCount == j;
      if (dstOrdered) {
        Arrays.sort(cacheOut);
      }
      return cacheOut;
    }
docs: Compact first 2^lgArrLongs of given array
  @param srcCache anything
  @param lgArrLongs The correct
  <a href="{@docRoot}/resources/dictionary.html#lgArrLongs">lgArrLongs</a>.
  @param curCount must be correct
  @param thetaLong The correct
  <a href="{@docRoot}/resources/dictionary.html#thetaLong">thetaLong</a>.
  @param dstOrdered true if output array must be sorted
  @return the compacted array