QueryRow { @Override public int hashCode() { return distinctColumnIndexes.isEmpty() ? rowData.hashCode() : Lists.transform(distinctColumnIndexes, new Function<Integer, Object>() { @Override public Object apply(final Integer input) { return rowData.get(input - 1); } }).hashCode(); } QueryRow(final List<Object> rowData); Object getColumnValue(final int columnIndex); @Override boolean equals(final Object obj); @Override int hashCode();  }
@Test public void assertHashCode() { assertEquals(41, queryRow.hashCode()); }