The data in the buffer is stored in a linked list of StreamCharBufferChunks.
This class contains data & read/write state for the "chunk level".
It contains methods for reading & writing to the chunk level.
Underneath the chunk is one more level, the StringChunkGroup + StringChunk.
StringChunk makes it possible to directly store the java.lang.String objects.