### Question:
IRODSGenQueryExecutorImpl extends IRODSGenericAO implements IRODSGenQueryExecutor { @Override public IRODSQueryResultSet executeIRODSQueryAndCloseResult(final AbstractIRODSGenQuery irodsQuery, final int partialStartIndex) throws JargonException, JargonQueryException { log.info("executeIRODSQueryAndCloseResult()"); return executeIRODSQueryAndCloseResultInZone(irodsQuery, partialStartIndex, null); } IRODSGenQueryExecutorImpl(final IRODSSession irodsSession, final IRODSAccount irodsAccount); @Override IRODSQueryResultSet executeIRODSQuery(final AbstractIRODSGenQuery irodsQuery, final int continueIndex); @Override IRODSQueryResultSet executeIRODSQueryInZone(final AbstractIRODSGenQuery irodsQuery, final int continueIndex,
			final String zoneName); @Override IRODSQueryResultSet executeIRODSQueryAndCloseResult(final AbstractIRODSGenQuery irodsQuery,
			final int partialStartIndex); @Override IRODSQueryResultSet executeIRODSQueryAndCloseResultInZone(final AbstractIRODSGenQuery irodsQuery,
			final int partialStartIndex, final String zoneName); @Override IRODSQueryResultSet executeIRODSQueryWithPaging(final AbstractIRODSGenQuery irodsQuery,
			final int partialStartIndex); @Override IRODSQueryResultSet executeIRODSQueryWithPagingInZone(final AbstractIRODSGenQuery irodsQuery,
			final int partialStartIndex, final String zoneName); @Override IRODSQueryResultSet getMoreResults(final IRODSQueryResultSet irodsQueryResultSet); @Override IRODSQueryResultSet getMoreResultsInZone(final IRODSQueryResultSet irodsQueryResultSet,
			final String zoneName); @Override void closeResults(final IRODSQueryResultSet irodsQueryResultSet);  }### Answer:
@Test public void testFetchInfoManyTimes() throws Exception { String testDirPath = testingPropertiesHelper .buildIRODSCollectionAbsolutePathFromTestProperties(testingProperties, IRODS_TEST_SUBDIR_PATH); IRODSAccount irodsAccount = testingPropertiesHelper.buildIRODSAccountFromTestProperties(testingProperties); IRODSFileFactory iff = irodsFileSystem.getIRODSFileFactory(irodsAccount); int nbrTimes = 20; for (int i = 0; i < nbrTimes; i++) { IRODSFile f = null; try { f = iff.instanceIRODSFile(testDirPath); } catch (Exception e) { Assert.fail(e.getLocalizedMessage()); } if (f == null) { throw new JargonException("f should not be null"); } if (f.isDirectory()) { StringBuilder q = new StringBuilder(); q.append("select "); q.append(RodsGenQueryEnum.COL_COLL_ID.getName()).append(", "); q.append(RodsGenQueryEnum.COL_COLL_NAME.getName()).append(", "); q.append(RodsGenQueryEnum.COL_COLL_MODIFY_TIME.getName()); q.append(" where "); q.append(RodsGenQueryEnum.COL_COLL_NAME.getName()); q.append(" = '").append(testDirPath).append("'"); IRODSGenQuery irodsQuery; IRODSAccessObjectFactory aof = irodsFileSystem.getIRODSAccessObjectFactory(); irodsQuery = IRODSGenQuery.instance(q.toString(), 1); IRODSGenQueryExecutor irodsGenQueryExecutor = aof.getIRODSGenQueryExecutor(irodsAccount); AbstractIRODSQueryResultSet resultSet = irodsGenQueryExecutor .executeIRODSQueryAndCloseResult(irodsQuery, 0); IRODSQueryResultRow r = null; r = resultSet.getFirstResult(); r.getColumn(RodsGenQueryEnum.COL_COLL_MODIFY_TIME.getName()); r.getColumn(RodsGenQueryEnum.COL_COLL_NAME.getName()); } else { Assert.fail("This is a directory, not a file."); } } }