{
final ResultSetMetaData rsmd = rs.getMetaData();
final int colcount = rsmd.getColumnCount();
final Object[] header = new Object[colcount];
final Class[] colTypes = TypeMapper.mapTypes(rsmd);
final DefaultTableMetaData metaData = new DefaultTableMetaData(colcount);
// In past many database drivers were returning same value for column label and column name. So it is inconsistent
// what the database driver will return for column name vs column label.
// We have a legacy configuration for this. If set, then if column label is null or empty then return column name.
// Otherwise return column label.