presto-record-decoder/src/main/java/io/prestosql/decoder/raw/RawColumnDecoder.java/RawColumnDecoder/decodeField
class RawColumnDecoder:    public FieldValueProvider decodeField(byte[] value)
    {
        requireNonNull(value, "value is null");

        int actualEnd = end.orElse(value.length);

        if (start > value.length) {
            throw new PrestoException(DECODER_CONVERSION_NOT_SUPPORTED, format(
                    "start offset %s for column '%s' must be less that or equal to value length %s",
                    start,
                    columnName,
                    value.length));
        }

        if (actualEnd > value.length) {
            throw new PrestoException(DECODER_CONVERSION_NOT_SUPPORTED, format(
                    "end offset %s for column '%s' must be less that or equal to value length %s",
                    actualEnd,
                    columnName,
                    value.length));
        }
        return new RawValueProvider(ByteBuffer.wrap(value, start, actualEnd - start), fieldType, columnName, columnType);
    }