### Question:
ClientSelect implements ClientQueryClause, DeepCloneable<ClientSelect> { @Override public void accept(ClientQueryVisitor visitor) { if (this.fields != null) { for (ClientQueryField field: this.fields) { field.accept(visitor); } } if (getDistinctFields() != null) { for (ClientQueryField field : getDistinctFields()) { field.accept(visitor); } } if (this.aggregations != null) { for (ClientQueryAggregatedField aggregatedField: this.aggregations) { aggregatedField.accept(visitor); } } visitor.visit(this); } ClientSelect();  ClientSelect(ClientSelect source);  ClientSelect(List<ClientQueryField> fields); @Override ClientSelect deepClone(); ClientQueryField getField(int index); ClientQueryField getField(final String id); @XmlElementWrapper(name = "fields") @XmlElement(name = "field") List<ClientQueryField> getFields(); ClientSelect setFields(List<ClientQueryField> fields); @XmlElementWrapper(name = "distinctFields") @XmlElement(name = "distinctField") List<ClientQueryField> getDistinctFields(); ClientSelect setDistinctFields(List<ClientQueryField> distinctFields); @XmlElementWrapper(name = "aggregations") @XmlElement(name = "aggregation") List<ClientQueryAggregatedField> getAggregations(); ClientSelect setAggregations(List<ClientQueryAggregatedField> aggregations); @Override void accept(ClientQueryVisitor visitor); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void instanceCanBeAcceptedByVisitor() { ClientQueryVisitor visitor = Mockito.mock(ClientQueryVisitor.class); fullyConfiguredTestInstance.accept(visitor); verify(visitor).visit(fullyConfiguredTestInstance); verify(visitor).visit(FIELD); verify(visitor).visit(AGGREGATION); }