iterator = query.execute(queryAnnotation, effectiveParameters);
} else {
throw new XOException("Expression type is not supported: " + expression);
}
SortedSet<Class<?>> resultTypes = getResultTypes();
XOTransaction xoTransaction = sessionContext.getXOTransaction();
return new QueryResultIterableImpl(sessionContext, xoTransaction != null ? new TransactionalResultIterator<>(iterator, xoTransaction) : iterator, resultTypes);
}