code: @Override
    protected CoderResult implFlush (final ByteBuffer out)
    {
      if (m_bBase64mode)
      {
        if (out.remaining () < 2)
          return CoderResult.OVERFLOW;
        if (m_nBitsToOutput != 0)
          out.put (m_aBase64.getChar (m_nSextet));
        out.put (m_nUnshift);
      }
      return CoderResult.UNDERFLOW;
    }
docs: {@inheritDoc}
  <p>
  Note that this method might return <code>CoderResult.OVERFLOW</code> (as is
  required by the specification) if insufficient space is available in the
  output buffer. However, calling it again on JDKs before Java 6 triggers a
  bug in {@link java.nio.charset.CharsetEncoder#flush(ByteBuffer)} causing it
  to throw an IllegalStateException (the buggy method is <code>final</code>,
  thus cannot be overridden).
  </p>
  
  @see <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6227608">
  JDK bug 6227608</a>
  @param out
  The output byte buffer
  @return A coder-result object describing the reason for termination