code: public static String encodeBytes( byte[] source,
                                        int off,
                                        int len ) {
          // Since we're not going to have the GZIP encoding turned on,
          // we're not going to have an java.io.IOException thrown, so
          // we should not force the user to have to catch it.
          String encoded = null;
          try {
              encoded = encodeBytes(source, off, len, NO_OPTIONS);
          } catch (IOException ex) {
              assert false : ex.getMessage();
          } // end catch
          assert encoded != null;
          return encoded;
      }
docs: Encodes a byte array into Base64 notation. Does not GZip-compress data.
  <p>
  As of v 2.3, if there is an error, the method will throw an java.io.IOException. <b>This is new to v2.3!</b> In earlier
  versions, it just returned a null value, but in retrospect that's a pretty poor way to handle it.
  </p>
  
  @param source The data to convert
  @param off Offset in array where conversion should begin
  @param len Length of data to convert
  @return The Base64-encoded data as a String
  @throws NullPointerException if source array is null
  @throws IllegalArgumentException if source array, offset, or length are invalid
  @since 1.4