public Object getObject(int columnIndex, Map<String, Class<?>> map) throws SQLException {
checkClosed();
checkRow();
checkColumnIndex(columnIndex);
Type type = getType(columnIndex);
Class<?> targetType = mapGetType(type, map, statement.connection);
return coerce(get(columnIndex), type, targetType, map, statement.connection);
}