byte[]    data = new byte[str.length() / 2];
byte[] data = new byte[(str.length() - off) / 2];
    protected DERObject convertHexEncoded(        String  str,        int     off)        throws IOException    {        str = Strings.toLowerCase(str);        byte[]    data = new byte[str.length() / 2];        for (int index = 0; index != data.length; index++)        {            char left = str.charAt((index * 2) + off);            char right = str.charAt((index * 2) + off + 1);                        if (left < 'a')            {                data[index] = (byte)((left - '0') << 4);            }            else            {                data[index] = (byte)((left - 'a' + 10) << 4);            }            if (right < 'a')            {                data[index] |= (byte)(right - '0');            }            else            {                data[index] |= (byte)(right - 'a' + 10);            }        }        ASN1InputStream aIn = new ASN1InputStream(data);                                                    return aIn.readObject();    }