code: @SuppressWarnings({"rawtypes", "unchecked"})
      private void withMissingLeftJoin(Table destination, Table table1) {
          for (int c = 0; c < destination.columnCount(); c++) {
              if (c < table1.columnCount()) {
                  Column t1Col = table1.column(c);
                  destination.column(c).append(t1Col);
              } else {
                  for (int r1 = 0; r1 < table1.rowCount(); r1++) {
                      destination.column(c).appendMissing();
                  }
              }
          }
      }
docs: Adds rows to destination for each row in table1, with the columns from table2 added as missing values in each