### Question:
SimpleColumnCombination implements Comparable<SimpleColumnCombination> { public SimpleColumnCombination combineWith(SimpleColumnCombination other, Map<SimpleColumnCombination, SimpleColumnCombination> columnCombinations) { Verify.verify(table == other.table, "only merge inside a table"); SimpleColumnCombination combinedCombination = new SimpleColumnCombination(table, columns, other.lastColumn()); if (columnCombinations != null) { SimpleColumnCombination existingCombination = columnCombinations.get(combinedCombination); if (existingCombination == null) { columnCombinations.put(combinedCombination, combinedCombination); } else { combinedCombination = existingCombination; } } return combinedCombination; } SimpleColumnCombination(int table, int[] columns); private  SimpleColumnCombination(int table, int[] columns, int additionalColumn); boolean isActive(); void setActive(boolean active); long getDistinctCount(); static SimpleColumnCombination create(int table, int... columns); SimpleColumnCombination flipOff(int position); int getTable(); int getColumn(int index); int[] getColumns(); boolean startsWith(SimpleColumnCombination other); SimpleColumnCombination combineWith(SimpleColumnCombination other, Map<SimpleColumnCombination, SimpleColumnCombination> columnCombinations); int lastColumn(); @Override int hashCode(); @Override boolean equals(Object obj); @Override int compareTo(SimpleColumnCombination o); @Override String toString(); int setIndex(); void setIndex(int index);  }### Answer:
@Test public void testCombineWith() throws Exception { SimpleColumnCombination a = SimpleColumnCombination.create(TABLE, 2,3,6); SimpleColumnCombination b = SimpleColumnCombination.create(TABLE, 2,3,7); SimpleColumnCombination result = SimpleColumnCombination.create(TABLE, 2, 3, 6, 7); assertThat(a.combineWith(b, null), equalTo(result)); }