public static ProjectedRowData from(int[][] projection) throws IllegalArgumentException {
        return new ProjectedRowData(
                Arrays.stream(projection)
                        .mapToInt(
                                arr -> {
                                    if (arr.length != 1) {
                                        throw new IllegalArgumentException(
                                                "ProjectedRowData doesn't support nested projections");
                                    }
                                    return arr[0];
                                })
                        .toArray());
    }
@Test
    void testProjectedRowsDoesntSupportNestedProjections() {
        assertThatThrownBy(
                        () ->
                                ProjectedRowData.from(
                                        new int[][] {
                                            new int[] {2},
                                            new int[] {0, 1},
                                            new int[] {1},
                                            new int[] {4}
                                        }))
                .isInstanceOf(IllegalArgumentException.class);
    }