code: public String readString()
          throws IOException
      {
          int tag = is.read();
  
          if (tag == 'N')
              return null;
  
          if (tag != 'S')
              throw expect("string", tag);
  
          int b16 = is.read();
          int b8 = is.read();
  
          int len = (b16 << 8) + b8;
  
          return readStringImpl(len);
      }
docs: Reads a string
  
  <pre>
  S b16 b8 string value
  </pre>