docs: public int readUnsignedShort() throws IOException {
          int byte1 = in.read();
          int byte2 = in.read();
  
          if (byte2 < 0) {
              throw new EOFException();
          }
  
          return (byte2 << 8) + byte1;
      }