code: private static <T> T autoMap(ResultSet rs, Constructor<T> c) {
          Class<?>[] types = c.getParameterTypes();
          List<Object> list = new ArrayList<Object>();
          for (int i = 0; i < types.length; i++) {
              list.add(autoMap(getObject(rs, types[i], i + 1), types[i]));
          }
          try {
              return newInstance(c, list);
          } catch (RuntimeException e) {
              throw new RuntimeException(
                      "problem with parameters=" + getTypeInfo(list) + ", rs types=" + getRowInfo(rs)
                              + ". Be sure not to use primitives in a constructor when calling autoMap().",
                      e);
          }
      }
docs: Converts the ResultSet column values into parameters to the given
  constructor (with number of parameters equals the number of columns) of
  type <code>T</code> then returns an instance of type <code>T</code>. See
  See {@link Builder#autoMap(Class)}.
  
  @param rs
  the result set row
  @param c
  constructor to use for instantiation
  @return automapped instance