public static boolean contentEquals(InputStream input1, InputStream input2)
            throws IOException {
        if (!(input1 instanceof BufferedInputStream)) {
            input1 = new BufferedInputStream(input1);
        }
        if (!(input2 instanceof BufferedInputStream)) {
            input2 = new BufferedInputStream(input2);
        }

        int ch = input1.read();
        while (EOF != ch) {
            int ch2 = input2.read();
            if (ch != ch2) {
                return false;
            }
            ch = input1.read();
        }

        int ch2 = input2.read();
        return ch2 == EOF;
    }
Compare the contents of two Streams to determine if they are equal or
not.
<p>
This method buffers the input internally using
<code>BufferedInputStream</code> if they are not already buffered.

@param input1 the first stream
@param input2 the second stream
@return true if the content of the streams are equal or they both don't
exist, false otherwise
@throws NullPointerException if either input is null
@throws IOException          if an I/O error occurs
pay-java-common/src/main/java/com/egzosn/pay/common/util/IOUtils.java