class ContourPlot {

  private ContourPlot() {
  }

  public static Figure create(String title, Table table, String categoryCol1, String categoryCol2) {<FILL_FUNCTION_BODY>}
}

    Layout layout = Layout.builder(title).build();

    Table counts = table.xTabCounts(categoryCol1, categoryCol2);
    counts = counts.dropRows(counts.rowCount() - 1);
    List<Column<?>> columns = counts.columns();
    columns.remove(counts.columnCount() - 1);
    Column<?> yColumn = columns.remove(0);
    double[][] z = DoubleArrays.to2dArray(counts.numericColumns());

    Object[] x = counts.columnNames().toArray();
    Object[] y = yColumn.asObjectArray();
    ContourTrace trace = ContourTrace.builder(x, y, z).build();
    return new Figure(layout, trace);
  
<no_super_class>