public final int readInt() throws IOException {
        int ch1 = this.read();
        int ch2 = this.read();
        int ch3 = this.read();
        int ch4 = this.read();
        if ((ch1 | ch2 | ch3 | ch4) < 0)
            throw new EOFException();
        return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0));
    }
Reads a signed 32-bit integer from this stream. This method reads 4
bytes from the stream, starting at the current stream pointer.
If the bytes read, in order, are <code>b1</code>,
<code>b2</code>, <code>b3</code>, and <code>b4</code>, where
<code>0&nbsp;&lt;=&nbsp;b1, b2, b3, b4&nbsp;&lt;=&nbsp;255</code>,
then the result is equal to:
<blockquote><pre>
    (b1 &lt;&lt; 24) | (b2 &lt;&lt; 16) + (b3 &lt;&lt; 8) + b4
</pre></blockquote>
<p>
This method blocks until the four bytes are read, the end of the
stream is detected, or an exception is thrown.

@return     the next four bytes of this stream, interpreted as an
            <code>int</code>.
@exception  EOFException  if this stream reaches the end before reading
              four bytes.
@exception  IOException   if an I/O error occurs.
plugins/svg-plugin/batik-codec-fix/src/main/java/org/apache/batik/ext/awt/image/codec/util/SeekableStream.java