public RingBuffer unsafeCopy() {
        return new RingBuffer(buffer, offset, length);
    }
Doesn't actually copy the buffer but instead returns a new CharBuffer
that uses the existing buffer with the same start and end positions.
stroom-pipeline/src/main/java/stroom/pipeline/xml/converter/ds3/RingBuffer.java