System.err.println("Bad Base64 input character at " + i + ": "
LOG.error("Bad Base64 input character at " + i + ": "
    public static byte[] decode(byte[] source, int off, int len) {        int len34 = len * 3 / 4;        byte[] outBuff = new byte[len34]; // Upper limit on size of output        int outBuffPosn = 0;        byte[] b4 = new byte[4];        int b4Posn = 0;        int i = 0;        byte sbiCrop = 0;        byte sbiDecode = 0;        for (i = off; i < off + len; i++) {            sbiCrop = (byte) (source[i] & 0x7f); // Only the low seven bits            sbiDecode = DECODABET[sbiCrop];            if (sbiDecode >= WHITE_SPACE_ENC) // White space, Equals sign or            // better            {                if (sbiDecode >= EQUALS_SIGN_ENC) {                    b4[b4Posn++] = sbiCrop;                    if (b4Posn > 3) {                        outBuffPosn += decode4to3(b4, 0, outBuff, outBuffPosn);                        b4Posn = 0;                        // If that was the equals sign, break out of 'for' loop                        if (sbiCrop == EQUALS_SIGN)                            break;                    } // end if: quartet built                } // end if: equals sign or better            } // end if: white space, equals sign or better            else {                System.err.println("Bad Base64 input character at " + i + ": "                        + source[i] + "(decimal)");                return null;            } // end else:        } // each input character        byte[] out = new byte[outBuffPosn];        System.arraycopy(outBuff, 0, out, 0, outBuffPosn);        return out;    } // end decode