code: public final short readShortLE() throws IOException {
          int ch1 = this.read();
          int ch2 = this.read();
          if ((ch1 | ch2) < 0)
              throw new EOFException();
          return (short)((ch2 << 8) + (ch1 << 0));
      }
docs: Reads a signed 16-bit number from this stream in little-endian order.
  The method reads two
  bytes from this stream, starting at the current stream pointer.
  If the two bytes read, in order, are
  <code>b1</code> and <code>b2</code>, where each of the two values is
  between <code>0</code> and <code>255</code>, inclusive, then the
  result is equal to:
  <blockquote><pre>
  (short)((b2 &lt;&lt; 8) | b1)
  </pre></blockquote>
  <p>
  This method blocks until the two bytes are read, the end of the
  stream is detected, or an exception is thrown.
  
  @return     the next two bytes of this stream, interpreted as a signed
  16-bit number.
  @exception  EOFException  if this stream reaches the end before reading
  two bytes.
  @exception  IOException   if an I/O error occurs.