code: public Table pivot(CategoricalColumn<?> column1,
                         CategoricalColumn<?> column2,
                         NumberColumn<?> column3,
                         AggregateFunction<?, ?> aggregateFunction) {
          return PivotTable.pivot(this, column1, column2, column3, aggregateFunction);
      }
docs: Returns a pivot on this table, where:
  The first column contains unique values from the index column1
  There are n additional columns, one for each unique value in column2
  The values in each of the cells in these new columns are the result of applying the given AggregateFunction
  to the data in column3, grouped by the values of column1 and column2