### Question:
EntityCollection extends BaseObject { public List<T> where(Filter filter) { return createCollectionQuery(filter).getResultList(); }  T add(T item); T remove(T item); T findById(Serializable id); List<T> all(); T first(Object... paramValues); T one(Object... paramValues); List<T> where(Filter filter); List<T> where(Object... paramValues); long count(Filter filter); void persist();  }### Answer:
@Test public void shouldSearchUsingFilter() { assertEquals(model.collection("children").where(new Filter(new Condition("children.column1", "testChildColumn0"), new Condition("children.column2", "testChildColumn2"))), Arrays.asList(child1)); }
@Test public void shouldSearchByKeyValue() { assertEquals(model.collection("children").where("children.column1", "testChildColumn0"), Arrays.asList(child1)); }
@Test public void shouldSearchByMultipleKeyValues() { assertEquals(model.collection("children").where("children.column1", "testChildColumn0", "children.column2", "testChildColumn2"), Arrays.asList(child1)); }