public static UUID decode(String src) {
        Objects.requireNonNull(src, "src");
        byte[] bytes = src.getBytes(ISO_8859);
        if (bytes.length != 22) {
            throw new IllegalArgumentException("Invalid src byte array: " + src);
        }

        byte[] decoded = DECODER.decode(bytes);

        long mostSigBits = BytesUtils.bytesToLong(decoded, 0);
        long leastSigBits = BytesUtils.bytesToLong(decoded, BytesUtils.LONG_BYTE_LENGTH);
        return new UUID(mostSigBits, leastSigBits);
    }
Decodes the given {@code src} string into a {@link UUID}. {@code src} must be a URL and filename safe base64
encoded string 22 characters in length without pad characters "=".

@param src string to be decoded into {@link UUID}
@return uuid decoded from the given {@code src}

@throws NullPointerException if {@code src} is null
@throws IllegalArgumentException if {@code src} is not a URL and filename safe base64 encoded string without
                                 trailing pad characters
commons-profiler/src/main/java/com/navercorp/pinpoint/common/profiler/name/Base64Utils.java