ResultSet resultSet, OperationObserver callback, final long startTime) throws Exception {
boolean iteratedResult = callback.isIteratedResult();
ExtendedTypeMap types = dataNode.getAdapter().getExtendedTypes();
RowDescriptorBuilder builder = configureRowDescriptorBuilder(compiled, resultSet);
RowReader<?> rowReader = dataNode.rowReader(builder.getDescriptor(types), queryMetadata);
<BUG>JDBCResultIterator result = new JDBCResultIterator(statement, resultSet, rowReader);

ResultIterator it = result;</BUG>
if (iteratedResult) {
it = new ConnectionAwareResultIterator(it, connection) {

ResultSet resultSet, OperationObserver callback, final long startTime) throws Exception {
boolean iteratedResult = callback.isIteratedResult();
ExtendedTypeMap types = dataNode.getAdapter().getExtendedTypes();
RowDescriptorBuilder builder = configureRowDescriptorBuilder(compiled, resultSet);
RowReader<?> rowReader = dataNode.rowReader(builder.getDescriptor(types), queryMetadata);
ResultIterator it = new JDBCResultIterator(statement, resultSet, rowReader);
if (iteratedResult) {
it = new ConnectionAwareResultIterator(it, connection) {
