### Question:
MultiLevelQueryBuilder extends ClientQueryBuilder { @Override public ClientMultiLevelQuery build() { ClientMultiLevelQuery query = new ClientMultiLevelQuery(); buildCommon(query); if (getAggregates() != null) { query.getSelect().setAggregations(getAggregates()); } if (getGroups() != null) { query.setGroupBy(new ClientQueryGroupBy().setGroups(getGroups())); } if (getOrder() != null) { query.setOrderBy((List<ClientGenericOrder>) getOrder()); } return query; }  static MultiLevelQueryBuilder select(List<ClientQueryField> fields); static MultiLevelQueryBuilder select(ClientQueryField... fields); static MultiLevelQueryBuilder select(List<ClientQueryField> fields, List<ClientQueryAggregatedField> aggregates); static MultiLevelQueryBuilder selectDistinct(List<ClientQueryField> distinctFields); static MultiLevelQueryBuilder selectDistinct(ClientQueryField... distinctFields); static MultiLevelQueryBuilder selectDistinct(List<ClientQueryField> distinctFields, List<ClientQueryAggregatedField> aggregates); @Override ClientMultiLevelQuery build(); @Override MultiLevelQueryBuilder where(ClientExpression filters); @Override MultiLevelQueryBuilder where(String expression); @Override MultiLevelQueryBuilder where(Map<String, ClientExpressionContainer> parameters); @Override MultiLevelQueryBuilder where(ClientExpression filters, Map<String, ClientExpressionContainer> parameters); @Override MultiLevelQueryBuilder orderBy(ClientOrder... order); MultiLevelQueryBuilder aggregates(ClientQueryAggregatedField... aggregatedFields); MultiLevelQueryBuilder groupBy(ClientQueryGroup... groups);  }### Answer:
@Test public void build_nullClientWhere_whereWithParameters() { ClientWhere expected = new ClientWhere(CLIENT_PARAMETERS); instance.setParameters(CLIENT_PARAMETERS); ClientMultiLevelQuery result = instance.build(); assertEquals(expected, result.getWhere()); }
@Test public void build_notNullClientWhere_whereWithParameters() { ClientWhere expected = new ClientWhere(CLIENT_EXPRESSION).setParameters(CLIENT_PARAMETERS); instance.setParameters(CLIENT_PARAMETERS); instance.setFilters(CLIENT_EXPRESSION); ClientMultiLevelQuery result = instance.build(); assertEquals(expected, result.getWhere()); }