public int read() throws IOException {
        final char[] cb = new char[1];
        if (read(cb, 0, 1) == -1) {
            return -1;
        } else {
            return cb[0];
        }
    }
Reads a single character.  This method will block until a character is
available, an I/O error occurs, or the end of the stream is reached.

<p> Subclasses that intend to support efficient single-character input
should override this method.

@return The character read, as an integer in the range 0 to 65535
(<tt>0x00-0xffff</tt>), or -1 if the end of the stream has
been reached
@throws IOException If an I/O error occurs
stroom-pipeline/src/main/java/stroom/pipeline/reader/FindReplaceFilter.java