code: @SuppressWarnings("unchecked")
  	public final <T extends SolrDataQuery> T addCriteria(Criteria criteria) {
  
  		Assert.notNull(criteria, "Cannot add null criteria.");
  
  		if (this.criteria == null) {
  			this.criteria = criteria;
  		} else {
  			if (this.criteria instanceof Crotch) {
  				((Crotch) this.criteria).add(criteria);
  			} else {
  				Crotch tree = new Crotch();
  				tree.add(this.criteria);
  				tree.add(criteria);
  				this.criteria = tree;
  			}
  		}
  		return (T) this;
  	}
docs: Add an criteria to the query. The criteria will be connected using 'AND'.
  
  @param criteria must not be {@literal null}.
  @return