### Question:
CompositeKeyBinding extends NestedColumnBinding<KeyComponent> implements KeyBinding { @Override public void selectWhere(Select.Where select) { forEachBinding(c -> select.and(eq(c.getColumnName(), bindMarker()))); } CompositeKeyBinding(List<Facet> keyFacets, NamingStrategy namingStrategy, ConverterRegistry converterRegistry, PojoBindingFactory pojoBindingFactory); @Override KeyComponent createClusteringColumnReferenceComponent(Facet parent, PojoBinding<?> pojoBinding, NamingStrategy namingStrategy); @Override ColumnBinding createReferenceBinding(Facet referenceFacet, PojoBinding<?> pojoBinding, NamingStrategy namingStrategy); @Override void delete(Delete.Where delete); @Override List<Object> elementToKeys(Object element); @Override DataType getElementDataType(); @Override Object getElementValue(Object pojo); @Override List<Object> getKeyParameters(List<Object> keys); @Override void selectWhere(Select.Where select);  }### Answer:
@Test public void testSelectWhere() { assertSelectWhereEquals(binding, "SELECT pk,cluster FROM foo WHERE pk=? AND cluster=?;"); }