code: @Deprecated
      @Override
      public void writeBytes( String str ) {
          CharacterIterator iter = new StringCharacterIterator(str);
          for (char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
              writeByte(c);
          }
      }
docs: Writes a string to the output stream. For every character in the string <code>s</code>, taken in order, one byte is written
  to the output stream. If <code>s</code> is <code>null</code>, a <code>NullPointerException</code> is thrown.
  <p>
  If <code>s.length</code> is zero, then no bytes are written. Otherwise, the character <code>s[0]</code> is written first,
  then <code>s[1]</code>, and so on; the last character written is <code>s[s.length-1]</code>. For each character, one byte
  is written, the low-order byte, in exactly the manner of the <code>writeByte</code> method . The high-order eight bits of
  each character in the string are ignored.
  
  @param str the string value to be written.
  @deprecated The semantics of {@code writeBytes(String s)} are considered dangerous. Please use {@link #writeUTF(String s)},
  {@link #writeChars(String s)} or another write method instead.