code: @GwtIncompatible("incompatible method")
      public static byte[] uuidToByteArray(final UUID src, final byte[] dst, final int dstPos, final int nBytes) {
          if (0 == nBytes) {
              return dst;
          }
          if (nBytes > 16) {
              throw new IllegalArgumentException("nBytes is greater than 16");
          }
          longToByteArray(src.getMostSignificantBits(), 0, dst, dstPos, nBytes > 8 ? 8 : nBytes);
          if (nBytes >= 8) {
              longToByteArray(src.getLeastSignificantBits(), 0, dst, dstPos + 8, nBytes - 8);
          }
          return dst;
      }
docs: <p>
  Converts UUID into an array of byte using the default (little endian, Lsb0) byte and bit
  ordering.
  </p>
  
  @param src the UUID to convert
  @param dst the destination array
  @param dstPos the position in {@code dst} where to copy the result
  @param nBytes the number of bytes to copy to {@code dst}, must be smaller or equal to the
  width of the input (from srcPos to msb)
  @return {@code dst}
  @throws NullPointerException if {@code dst} is {@code null}
  @throws IllegalArgumentException if {@code nBytes > 16}
  @throws ArrayIndexOutOfBoundsException if {@code dstPos + nBytes > dst.length}