@Override
    public BlockBuilder writeBytes(Slice source, int sourceIndex, int length)
    {
        initializeNewSegmentIfRequired();
        openSliceOutput.writeBytes(source, sourceIndex, length);
        return this;
    }
@Test
    public void testWriteBytes()
    {
        int entries = 100;
        String inputChars = "abcdefghijklmnopqrstuvwwxyz01234566789!@#$%^";
        SegmentedSliceBlockBuilder blockBuilder = new SegmentedSliceBlockBuilder(entries, inputChars.length());
        List<String> values = new ArrayList<>();
        Random rand = new Random(0);
        byte[] bytes = inputChars.getBytes(UTF_8);
        assertEquals(bytes.length, inputChars.length());
        for (int i = 0; i < entries; i++) {
            int valueLength = rand.nextInt(bytes.length);
            VARCHAR.writeBytes(blockBuilder, bytes, 0, valueLength);
            values.add(inputChars.substring(0, valueLength));
        }
        verifyBlockValues(blockBuilder, values);
    }