### Question:
DataFrameBuilder { public DataFrame foldByColumn(Object... data) { FoldByColumnGeometry g = byColumnGeometry(data.length); Object[][] columnarData = new Object[g.width][g.height]; for (int i = 0; i < g.fullColumns; i++) { System.arraycopy(data, i * g.height, columnarData[i], 0, g.height); } if (g.isLastColumnPartial()) { System.arraycopy(data, g.cellsInFullColumns(), columnarData[g.fullColumns], 0, g.partialColumnHeight); } return fromColumnarData(columnarData); } protected  DataFrameBuilder(Index columnsIndex); static DataFrameBuilder builder(String... columnLabels); static DataFrameBuilder builder(Index columnsIndex); DataFrame empty(); DataFrame columns(Series<?>... columns); DataFrame rows(Object[]... rows); DataFrameByRowBuilder byRow(); DataFrameByRowBuilder addRow(Object... row); DataFrame foldByRow(Object... data); DataFrame foldByColumn(Object... data); DataFrame foldStreamByRow(Stream<T> stream); DataFrame foldStreamByColumn(Stream<T> stream); DataFrame foldIterableByRow(Iterable<T> iterable); DataFrame foldIterableByColumn(Iterable<T> iterable); DataFrame objectsToRows(Iterable<T> objects, Function<T, Object[]> rowMapper); DataFrame foldIntByColumn(int padWith, int... data); DataFrame foldIntStreamByRow(IntStream stream); DataFrame foldIntStreamByRow(int padWith, IntStream stream); DataFrame foldIntStreamByColumn(IntStream stream); DataFrame foldIntStreamByColumn(int padWith, IntStream stream); DataFrame foldLongByColumn(long padWith, long... data); DataFrame foldLongStreamByRow(LongStream stream); DataFrame foldLongStreamByRow(long padWith, LongStream stream); DataFrame foldLongStreamByColumn(LongStream stream); DataFrame foldLongStreamByColumn(long padWith, LongStream stream); DataFrame foldDoubleByColumn(double padWith, double... data); DataFrame foldDoubleStreamByRow(DoubleStream stream); DataFrame foldDoubleStreamByRow(double padWith, DoubleStream stream); DataFrame foldDoubleStreamByColumn(DoubleStream stream); DataFrame foldDoubleStreamByColumn(double padWith, DoubleStream stream);  }### Answer:
@Test public void testFoldByColumn() { DataFrame df = DataFrameBuilder .builder("a", "b") .foldByColumn("a", 1, "b", 2, "c", 3); new DataFrameAsserts(df, "a", "b").expectHeight(3) .expectRow(0, "a", 2) .expectRow(1, 1, "c") .expectRow(2, "b", 3); }