public static byte[] decodeHex(char[] data) throws Exception {
public static byte[] decodeHex(char[] data) throws DecoderException {
    public static byte[] decodeHex(char[] data) throws Exception {        int l = data.length;           if ((l & 0x01) != 0) {               throw new Exception("odd number of characters.");           }           byte[] out = new byte[l >> 1];           // two characters form the hex value.           for (int i = 0, j = 0; j < l; i++) {               int f = Character.digit(data[j++], 16) << 4;               f = f | Character.digit(data[j++], 16);               out[i] = (byte) (f & 0xFF);           }           return out;    }