code: @Override
      public Map<String, Object> mapRow(ResultSet rs, int rowNum) throws SQLException {
          Cache<ResultSet, String[]> cache = localColNames.get();
          try {
              String[] colLabels = cache.get(rs, () -> {
                  return JdbcHelper.extractColumnLabels(rs);
              });
              Map<String, Object> row = new HashMap<>();
              for (int i = 0; i < colLabels.length; i++) {
                  row.put(colLabels[i], rs.getObject(colLabels[i]));
              }
              return row;
          } catch (ExecutionException e) {
              throw new RuntimeException(e);
          }
      }
docs: {@inheritDoc}