docs: public void write(@Sensitive char[] b, int off, int len) throws IOException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          { // 306998.15
              Tr.debug(tc, "write(char[]) total: " + total + " len: " + len + " limit: " + limit + " buf.length: " + buf.length + " count: " + count);
          }
          if (len < 0)
          {
              if (tc.isErrorEnabled())
                  Tr.error(tc, "Illegal.Argument.Trying.to.write.chars");
              throw new IllegalArgumentException();
          }
  
          if (!_hasWritten && obs != null)
          {
              _hasWritten = true;
              obs.alertFirstWrite();
          }
  
          if (limit > -1)
          {
              if (total + len > limit)
              {
                  len = (int)(limit - total);
                  except = new WriteBeyondContentLengthException();
              }
          }
  
          if (len >= buf.length)
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              { // 306998.15
                  Tr.debug(tc, "write(char[]), len >= buf.length");
              }
              response.setFlushMode(false);
              flushChars();
              total += len;
              writeOut(b, off, len);
              // out.flush(); moved to writeOut 277717 SVT:Mixed information shown on
              // the Admin Console WAS.webcontainer
              response.setFlushMode(true);
              check();
              return;
          }
          int avail = buf.length - count;
          if (len > avail)
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              { // 306998.15
                  Tr.debug(tc, "write(char[]), len >= avail");
              }
              response.setFlushMode(false);
              flushChars();
              response.setFlushMode(true);
          }
          System.arraycopy(b, off, buf, count, len);
          count += len;
          total += len;
          check();
      }