code: public <T> Select<T> SELECT_FROM(DomainObjectMatch<T> start) {
  		DomainObjectMatch<?> delegate = APIAccess.getDelegate(start);
  		DomainObjectMatch<?> match = delegate != null ? delegate : start;
  		SelectExpression<T> se = new SelectExpression<T>(APIAccess.getDomainObjectType(start),
  				match, this.getIntAccess());
  		this.queryExecutor.addAstObject(se);
  		this.astObjectsContainer = se;
  		Select<T> ret = APIAccess.createSelect(se, getIntAccess());
  		QueryRecorder.recordInvocation(this, "SELECT_FROM", ret, QueryRecorder.placeHolder(match));
  		return ret;
  	}
docs: Select domain objects out of a set of other domain objects.
  @param start with a DomainObjectMatch representing the initial set.
  @return