code: public static void encodeDesc(double value, byte[] dst, int dstOffset) {
          long bits = Double.doubleToLongBits(value);
          if (bits >= 0) {
              bits ^= 0x7fffffffffffffffL;
          }
          int w = (int)(bits >> 32);
          dst[dstOffset    ] = (byte)(w >> 24);
          dst[dstOffset + 1] = (byte)(w >> 16);
          dst[dstOffset + 2] = (byte)(w >> 8);
          dst[dstOffset + 3] = (byte)w;
          w = (int)bits;
          dst[dstOffset + 4] = (byte)(w >> 24);
          dst[dstOffset + 5] = (byte)(w >> 16);
          dst[dstOffset + 6] = (byte)(w >> 8);
          dst[dstOffset + 7] = (byte)w;
      }
docs: Encodes the given double into exactly 8 bytes for descending order.
  
  @param value double value to encode
  @param dst destination for encoded bytes
  @param dstOffset offset into destination array