ResultIterator<Map<String, Object>> iterator, Class<?> returnType, SortedSet<Class<?>> returnTypes) {
this.sessionContext = sessionContext;
this.iterator = iterator;
this.returnTypes = returnTypes;
if (CompositeRowObject.class.equals(returnType) || new AnnotatedType(returnType).getByMetaAnnotation(QueryDefinition.class) != null) {
this.rowProxyMethodService = new RowProxyMethodService(returnTypes);
} else {
this.rowProxyMethodService = null;
}
}