code: protected DomainObjectMatch<DomainObject> createGenMatchForInternal(List<DomainObject> domainObjects,
  			String domainObjectTypeName) {
  		InternalDomainAccess iAccess = this.queryExecutor.getMappingInfo().getInternalDomainAccess();
  		try {
  			iAccess.loadDomainInfoIfNeeded();
  			List<Object> dobjs = new ArrayList<Object>();
  			for (DomainObject dobj : domainObjects) {
  				dobjs.add(InternalAccess.getRawObject(dobj));
  			}
  			@SuppressWarnings("rawtypes")
  			Class clazz = iAccess.getClassForName(domainObjectTypeName);
  			@SuppressWarnings("unchecked")
  			DomainObjectMatch<?> delegate = createMatchForInternal(dobjs, clazz);
  			DomainObjectMatch<DomainObject> ret = APIAccess.createDomainObjectMatch(DomainObject.class, delegate);
  			return ret;
  		} catch (Throwable e) {
  			if (e instanceof RuntimeException)
  				throw (RuntimeException)e;
  			else
  				throw new RuntimeException(e);
  		}
  	}
docs: Create a match for a list of domain objects which were retrieved by another query.
  <br/>The match will be part of a query performed on a generic domain model.
  @param domainObjects a list of domain objects which were retrieved by another query
  @param domainObjectTypeName the type name of those domain objects
  @return a DomainObjectMatch