presto-redis/src/main/java/io/prestosql/plugin/redis/decoder/hash/HashRedisRowDecoder.java/HashRedisRowDecoder/decodeRow
class HashRedisRowDecoder:    @Override
    public Optional<Map<DecoderColumnHandle, FieldValueProvider>> decodeRow(byte[] data, Map<String, String> dataMap)
    {
        if (dataMap == null) {
            return Optional.of(emptyMap());
        }

        Map<DecoderColumnHandle, FieldValueProvider> decodedRow = new HashMap<>();
        for (Map.Entry<DecoderColumnHandle, RedisFieldDecoder<String>> entry : fieldDecoders.entrySet()) {
            DecoderColumnHandle columnHandle = entry.getKey();

            String mapping = columnHandle.getMapping();
            checkState(mapping != null, "No mapping for column handle %s!", columnHandle);

            String valueField = dataMap.get(mapping);

            RedisFieldDecoder<String> decoder = entry.getValue();
            decodedRow.put(columnHandle, decoder.decode(valueField, columnHandle));
        }
        return Optional.of(decodedRow);
    }