public static ArrowReader createArrowReader(VectorSchemaRoot root, RowType rowType) {
        List<ColumnVector> columnVectors = new ArrayList<>();
        List<FieldVector> fieldVectors = root.getFieldVectors();
        for (int i = 0; i < fieldVectors.size(); i++) {
            columnVectors.add(createColumnVector(fieldVectors.get(i), rowType.getTypeAt(i)));
        }

        return new ArrowReader(columnVectors.toArray(new ColumnVector[0]));
    }
@Test
    void testCreateArrowReader() {
        VectorSchemaRoot root =
                VectorSchemaRoot.create(ArrowUtils.toArrowSchema(rowType), allocator);
        ArrowReader reader = ArrowUtils.createArrowReader(root, rowType);
        ColumnVector[] columnVectors = reader.getColumnVectors();
        for (int i = 0; i < columnVectors.length; i++) {
            assertThat(columnVectors[i].getClass()).isEqualTo(testFields.get(i).f4);
        }
    }