private CharSequence toCharSequence() {
        try {
            BufferCharSequence cs = new BufferCharSequence();
            for (ByteBuffer buffer : this.buffers) {
                ByteBuffer duplicate = buffer.duplicate();
                cs.addBuffer(duplicate);
                duplicate = null;
            }

            if (this.last != null) {
                ByteBuffer duplicate = this.last.duplicate();
                duplicate.flip();
                cs.addBuffer(duplicate);
                duplicate = null;
            }
            return cs;
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }