### Question:
SimpleColumnCombination implements Comparable<SimpleColumnCombination> { public boolean startsWith(SimpleColumnCombination other) { if (table != other.table) { return false; } Verify.verify(columns.length == other.columns.length); for (int i = 0; i < columns.length - 1; i++) { if (columns[i] != other.columns[i]) { return false; } } return true; } 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 testStartsWith() throws Exception { SimpleColumnCombination a = SimpleColumnCombination.create(TABLE, 2,3,5); SimpleColumnCombination b = SimpleColumnCombination.create(TABLE+1, 2,3,5); SimpleColumnCombination c = SimpleColumnCombination.create(TABLE, 2,3,7); SimpleColumnCombination d = SimpleColumnCombination.create(TABLE, 1,3,5); assertThat(a.startsWith(a), is(true)); assertThat(a.startsWith(b), is(false)); assertThat(a.startsWith(c), is(true)); assertThat(a.startsWith(d), is(false)); assertThat(b.startsWith(a), is(false)); assertThat(b.startsWith(b), is(true)); assertThat(b.startsWith(c), is(false)); assertThat(b.startsWith(d), is(false)); assertThat(c.startsWith(a), is(true)); assertThat(c.startsWith(b), is(false)); assertThat(c.startsWith(c), is(true)); assertThat(c.startsWith(d), is(false)); }