public CharBuffer append(final char[] ch, final int start, final int len) {
        // Grow the buffer if we need to.
        int required = end + len;
        if (required > buffer.length) {
            final int multiple = (required / buffer.length) + 1;
            required = buffer.length * multiple;
            final char[] tmp = new char[required];
            System.arraycopy(buffer, 0, tmp, 0, buffer.length);
            buffer = tmp;
        }

        System.arraycopy(ch, start, buffer, end, len);
        end += len;

        return this;
    }
Create a buffer with a specified initial size.

@param initialSize The initial size of the buffer.
stroom-util/src/main/java/stroom/util/CharBuffer.java