code: public void print(String s) throws IOException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          { // 306998.15
              Tr.debug(tc, "print --> " + s);
          }
          if (!_hasWritten && obs != null)
          {
              _hasWritten = true;
              obs.alertFirstWrite();
          }
          int len = s.length();
          if (limit > -1)
          {
              if (total + len > limit)
              {
                  len = (int)(limit - total);
                  except = new WriteBeyondContentLengthException();
              }
          }
  
          int off = 0;
          while (len > 0)
          {
              int n = buf.length - count;
              if (n == 0)
              {
                  response.setFlushMode(false);
                  flushChars();
                  response.setFlushMode(true);
                  n = buf.length - count;
              }
              if (n > len)
              {
                  n = len;
              }
  
              s.getChars(off, off + n, buf, count);
  
              count += n;
              total += n;
              off += n;
              len -= n;
          }
          check();
      }
docs: Prints a string.
  
  @exception IOException
  if an I/O error has occurred