class DataTable {

    public DataTable mergeColumns(int c1, int c2) {
        DataTable result = new DataTable(getPageNumbers());
        for (List<String> row : data) {
            List<String> newRow = new ArrayList<>(row.size() - 1);
            for (int c = 0; c < row.size(); c++) {
                if (c == c2) {
                    // noop, continue
                } else if (c == c1) {
                    String newValue = new StringBuilder().append(getOrEmpty(row, c1)).append(" ")
                            .append(getOrEmpty(row, c2)).toString().trim();
                    newRow.add(newValue);
                } else {
                    newRow.add(getOrEmpty(row, c));

                }
            }
            result.addRow(newRow);
        }
        return result;
    }

    public  DataTable(int pageNumber);
    public  DataTable(Collection<Integer> pageNumbers);

}