code: @Override
    @SuppressFBWarnings ("IL_INFINITE_LOOP")
    public void write (final String s, final int off, final int len) throws IOException
    {
      _ensureOpen ();
  
      int b = off;
      final int t = off + len;
      while (b < t)
      {
        final int d = Math.min (m_nChars - m_nNextChar, t - b);
        s.getChars (b, b + d, m_aBuf, m_nNextChar);
        b += d;
        m_nNextChar += d;
        if (m_nNextChar >= m_nChars)
          flushBuffer ();
      }
    }
docs: Writes a portion of a String.
  <p>
  If the value of the <tt>len</tt> parameter is negative then no characters
  are written. This is contrary to the specification of this method in the
  {@linkplain java.io.Writer#write(java.lang.String,int,int) superclass},
  which requires that an {@link IndexOutOfBoundsException} be thrown.
  
  @param s
  String to be written
  @param off
  Offset from which to start reading characters
  @param len
  Number of characters to be written
  @exception IOException
  If an I/O error occurs