@SuppressWarnings("unchecked")
@Override
public RowIterator iterator() {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
List<Map<String, Object>> rows = jdbcTemplate.queryForList(dataSourceSql);
Map<Object, Map<String, Object>> allCatalogues = new HashMap<Object, Map<String, Object>>(rows.size());
for (Map<String, Object> row : rows) {
allCatalogues.put(row.get(idField), row);
}