code: @SuppressWarnings("unchecked")
  	public <T> DomainObjectMatch<T> INTERSECTION(DomainObjectMatch<T>... set) {
  		DomainObjectMatch<T> ret = this.union_Intersection(false, set);
  		Object[] placeHolders = new Object[set.length];
  		DomainObjectMatch<?> delegate;
  		DomainObjectMatch<?> match;
  		for (int i = 0; i < set.length; i++) {
  			delegate = APIAccess.getDelegate(set[i]);
  			match = delegate != null ? delegate : set[i];
  			placeHolders[i] = QueryRecorder.placeHolder(match);
  		}
  		delegate = APIAccess.getDelegate(ret);
  		match = delegate != null ? delegate : ret;
  		QueryRecorder.recordAssignment(this, "INTERSECTION", match, placeHolders);
  		return ret;
  	}
docs: Build the intersection of the specified sets
  @param set
  @return