return (short) ((buffer[0] << 8) + (buffer[1] & 0xff));
return (short) (((short) (buffer[0] & 0xff) << 8) | ((short) (buffer[1] & 0xff) << 0));
  public short readShort()    throws IOException  {    int result = read(buffer, 0, 2);    if (result == -1)      throw new EOFException();        if (getByteOrder() == ByteOrder.LITTLE_ENDIAN)      {	return (short) ((buffer[0] & 0xff)			+ (buffer[1] << 8));      }    return (short) ((buffer[0] << 8)		    + (buffer[1] & 0xff));  }