code: public static final void writeUTF(OutputStream out,
                                        String str, int offset, int strlen,
                                        char[] workspace)
          throws IOException
      {
          int worklen = workspace.length;
          while (true) {
              int amt = strlen <= worklen ? strlen : worklen;
              str.getChars(offset, offset + amt, workspace, 0);
              writeUTF(out, workspace, 0, amt);
              if ((strlen -= amt) <= 0) {
                  break;
              }
              offset += amt;
          }
      }
docs: Writes UTF-8 encoded characters to the given stream, but does not write
  the length.
  
  @param workspace temporary buffer to store characters in