presto-rcfile/src/main/java/io/prestosql/rcfile/binary/DoubleEncoding.java/DoubleEncoding/decodeColumn
class DoubleEncoding:    @Override
    public Block decodeColumn(ColumnData columnData)
    {
        int size = columnData.rowCount();
        BlockBuilder builder = type.createBlockBuilder(null, size);

        Slice slice = columnData.getSlice();
        for (int i = 0; i < size; i++) {
            int length = columnData.getLength(i);
            if (length != 0) {
                checkState(length == SIZE_OF_DOUBLE, "Double should be 8 bytes");

                long longBits = slice.getLong(columnData.getOffset(i));

                // the file format uses big endian
                type.writeDouble(builder, Double.longBitsToDouble(Long.reverseBytes(longBits)));
            }
            else {
                builder.appendNull();
            }
        }
        return builder.build();
    }