in cloud-spanner-r2dbc/src/main/java/com/google/cloud/spanner/r2dbc/v2/ClientLibraryDecoder.java [92:101]
public static <T> T decode(Struct struct, int index, Class<T> type) {
Map<Type, BiFunction<Struct, Integer, Object>> selectedCodecsMap =
type.isArray() ? arrayDecodersMap : decodersMap;
Object value =
struct.isNull(index)
? null
: readAndConvert(struct, index, selectedCodecsMap, type);
return (T) value;
}