public static long lowerHexToUnsignedLong(String lowerHex) {
    int length = lowerHex.length();
    if (length < 1 || length > 32) throw isntLowerHexLong(lowerHex);

    // trim off any high bits
    int beginIndex = length > 16 ? length - 16 : 0;

    return lowerHexToUnsignedLong(lowerHex, beginIndex);
  }
Parses a 1 to 32 character lower-hex string with no prefix into an unsigned long, tossing any
bits higher than 64.
zipkin/src/main/java/zipkin2/internal/HexCodec.java