### Question:
ElasticsearchQuery implements SimpleQuery<ElasticsearchQuery<K>>, Fetchable<K> { @Override public ElasticsearchQuery<K> where(Predicate... o) { return queryMixin.where(o); } ElasticsearchQuery(Client client, Function<SearchHit, K> transformer, ElasticsearchSerializer serializer); @Override CloseableIterator<K> iterate(); List<K> fetch(Path<?>... paths); @Override List<K> fetch(); K fetchFirst(Path<?>... paths); @Nullable @Override K fetchFirst(); K fetchOne(Path<?>... paths); @Nullable @Override K fetchOne(); QueryResults<K> fetchResults(Path<?>... paths); @Override QueryResults<K> fetchResults(); @Override long fetchCount(); @Override ElasticsearchQuery<K> limit(@Nonnegative long limit); @Override ElasticsearchQuery<K> offset(@Nonnegative long offset); @Override ElasticsearchQuery<K> restrict(QueryModifiers modifiers); @Override ElasticsearchQuery<K> orderBy(OrderSpecifier<?>... o); @Override ElasticsearchQuery<K> set(ParamExpression<T> param, T value); @Override ElasticsearchQuery<K> distinct(); @Override ElasticsearchQuery<K> where(Predicate... o); abstract String getIndex(); abstract String getType();  }### Answer:
@Test public void EqInAndOrderByQueries() { assertQuery(user.firstName.eq("Jaakko"), u1); assertQuery(user.firstName.equalsIgnoreCase("jaakko"), u1); assertQuery(user.lastName.eq("Aakkonen"), u3); assertQuery(user.firstName.in("Jaakko","Teppo"), u1); assertQuery(user.lastName.in("Aakkonen", "BeekkoNen"), u3, u4); assertQuery(user.firstName.eq("Jouko")); assertQuery(user.firstName.eq("Jaana"), user.lastName.asc(), u3, u4); assertQuery(user.firstName.eq("Jaana"), user.lastName.desc(), u4, u3); assertQuery(user.lastName.eq("Jantunen"), user.firstName.asc(), u2, u1); assertQuery(user.lastName.eq("Jantunen"), user.firstName.desc(), u1, u2); assertQuery(user.firstName.eq("Jaana").and(user.lastName.eq("Aakkonen")), u3); assertQuery(where(user.firstName.eq("Jaana"), user.lastName.eq("Aakkonen")), u3); assertQuery(user.firstName.ne("Jaana"), u2, u1); assertQuery(user.firstName.ne("Jaana").and(user.lastName.ne("Jantunen"))); assertQuery(user.firstName.eq("Jaana").and(user.lastName.eq("Aakkonen")).not(), u4, u2, u1); }