@Override
        public char charAt(final int index) {
            if (pad) {
                if (index <= 0) {
                    return PADDING;
                }
                return charSequence.charAt(index - 1);
            }

            return charSequence.charAt(index);
        }
Reads characters into an array.  This method will block until some input
is available, an I/O error occurs, or the end of the stream is reached.

@param cbuf Destination buffer
@return The number of characters read, 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