code: @Nullable
    private CoderResult _handleBase64 (final ByteBuffer in, final CharBuffer out, final byte lastRead)
    {
      CoderResult result = null;
      final int sextet = m_aBase64.getSextet (lastRead);
      if (sextet >= 0)
      {
        m_nBitsRead += 6;
        if (m_nBitsRead < 16)
        {
          m_nTempChar += sextet << (16 - m_nBitsRead);
        }
        else
        {
          m_nBitsRead -= 16;
          m_nTempChar += sextet >> (m_nBitsRead);
          out.put ((char) m_nTempChar);
          m_nTempChar = (sextet << (16 - m_nBitsRead)) & 0xFFFF;
        }
      }
      else
      {
        if (m_bStrict)
          return _malformed (in);
        out.put ((char) lastRead);
        if (_areBase64BitsWaiting ())
          result = _malformed (in);
        _setUnshifted ();
      }
      return result;
    }
docs: <p>
  Decodes a byte in <i>base 64 mode</i>. Will directly write a character to
  the output buffer if completed.
  </p>
  
  @param in
  The input buffer
  @param out
  The output buffer
  @param lastRead
  Last byte read from the input buffer
  @return CoderResult.malformed if a non-base 64 character was encountered in
  strict mode, null otherwise