public static final String encode(final byte[] src, final int off, final int len, final boolean breakLines)
public static final String encode(final byte[] src)
  public static final String encode(final byte[] src, final int off,                                    final int len, final boolean breakLines)  {    final int len43 = len * 4 / 3;    final byte[] outBuff = new byte[len43 // Main 4:3                                    + ((len % 3) > 0 ? 4 : 0) // Account for padding                                    + (breakLines ? (len43 / MAX_LINE_LENGTH)                                                 : 0)]; // New lines    int d = 0;    int e = 0;    final int len2 = len - 2;    int lineLength = 0;    for (; d < len2; d += 3, e += 4)      {        encode3to4(src, d + off, 3, outBuff, e);        lineLength += 4;        if (breakLines && lineLength == MAX_LINE_LENGTH)          {            outBuff[e + 4] = NEW_LINE;            e++;            lineLength = 0;          }      }    if (d < len)      { // padding needed        encode3to4(src, d + off, len - d, outBuff, e);        e += 4;      }    return new String(outBuff, 0, e);  }