code: @Override
  	public E createRecord(final ResultSet rs) throws SQLException {
  		try {
  			if (columnLabels == null) {
  				ResultSetMetaData rsmd = rs.getMetaData();
  				columnCount = rsmd.getColumnCount();
  
  				// columnLabelsは1始まりの配列で値を格納
  				columnLabels = new String[columnCount + 1];
  				for (int i = 1; i <= columnCount; i++) {
  					columnLabels[i] = rsmd.getColumnLabel(i);
  				}
  			}
  
  			E rec = constructor.newInstance();
  			for (MappingColumn column : columns) {
  				bindValue(rec, rs, column);
  			}
  			return rec;
  		} catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
  			LOG.error("Error!!", e);
  			throw new UroborosqlRuntimeException(e);
  		} catch (SQLException | RuntimeException | Error e) {
  			LOG.error("Error!!", e);
  			throw e;
  		}
  	}
docs: {@inheritDoc}
  
  @see jp.co.future.uroborosql.converter.ResultSetConverter#createRecord(java.sql.ResultSet)